Объявление
public int GetVertexBufferStride(int stream);Параметры
stream | Индекс потока данных вершины для проверки. |
Возвращает
int Размер данных вершины в байтах в этом потоке или ноль, если поток отсутствует.
Описание
Получить шаг потока буфера вершин в байтах.
Сети обычно используют один поток буфера вершин. Но можно настроить компоновку вершин, в которой некоторые атрибуты используют разные буферы вершин (см. SetVertexBufferParams, VertexAttributeDescriptor). Вы можете использовать эту функцию для запроса размера данных вершины в байтах в заданном потоке.
using UnityEngine;
using UnityEngine.Rendering;
public class ExampleScript : MonoBehaviour
{
void Start()
{
// Create a Mesh with custom vertex data layout:
// position and normal go into stream 0,
// color goes into stream 1.
var mesh = new Mesh();
mesh.SetVertexBufferParams(10,
new VertexAttributeDescriptor(VertexAttribute.Position, VertexAttributeFormat.Float32, 3, stream:0),
new VertexAttributeDescriptor(VertexAttribute.Normal, VertexAttributeFormat.Float32, 3, stream:0),
new VertexAttributeDescriptor(VertexAttribute.Color, VertexAttributeFormat.UNorm8, 4, stream:1));
// Prints 2 (two vertex streams)
Debug.Log($"Vertex stream count: {mesh.vertexBufferCount}");
// Next two lines print: 24 (12 bytes position + 12 bytes normal), 4 (4 bytes color)
Debug.Log($"Steam 0 stride {mesh.GetVertexBufferStride(0)}");
Debug.Log($"Steam 1 stride {mesh.GetVertexBufferStride(1)}");
// Cleanup
Object.DestroyImmediate(mesh);
}
}
Смотрите так же: vertexBufferCount, GetVertexAttributeOffset, SetVertexBufferParams.