OpenSubdiv.OPENSUBDIV_VERSION.Osd.Entry 是一个用于存储顶点和稀疏顶点数据的类。
int numVertices:存储顶点数量。int numValues:存储稀疏顶点数量。int *sparselyValidValuesIdx:存储稀疏顶点的有效索引列表。int *sparselyInvalidValueIdx:存储稀疏顶点的无效索引列表。float *vertexBuffer:存储顶点数据。float *valueBuffer:存储稀疏顶点数据。void SetNumVertices(int numVerts):设置顶点数量。void SetNumValues(int numValues):设置稀疏顶点数量。int GetNumVertices() const:获取顶点数量。int GetNumValues() const:获取稀疏顶点数量。float* GetVertexBuffer() const:获取顶点数据的指针。float* GetValueBuffer() const:获取稀疏顶点数据的指针。int* GetSparselyValidValueIndices() const:获取有效的稀疏顶点索引列表的指针。int* GetSparselyInvalidValueIndices() const:获取无效的稀疏顶点索引列表的指针。#include <opensubdiv/osd/vertexDescriptor.h>
OpenSubdiv::Osd::Entry entry;
entry.SetNumVertices(3);
entry.SetNumValues(1);
float *vbuffer = entry.GetVertexBuffer();
vbuffer[0] = 0;
vbuffer[1] = 1;
vbuffer[2] = 2;
float *valBuffer = entry.GetValueBuffer();
valBuffer[0] = 1.0;
int *validValIndices = entry.GetSparselyValidValueIndices();
validValIndices[0] = 1;
int *invalidValIndices = entry.GetSparselyInvalidValueIndices();
invalidValIndices[0] = 2;
本文档参考 OpenSubdiv 官方文档编写,若有更改或错误之处敬请谅解。