OpenSubdiv中的Far.LocationArray是用于存储面的位置数据的数组,它可以方便地被FarSubdivision处理。
level
: 存储数组所处的层级编号numElements
: 存储数组的元素数量values
: 存储位置值的指针LocationArray(level, numElements)
: 构造函数,根据输入参数构造一个指定层级和元素数量的LocationArray对象,并分配对应大小的内存空间。~LocationArray()
: 析构函数,释放LocationArray对象分配的内存。operator[]
: 重载操作符,允许通过数组索引直接访问LocationArray中的元素。values()
: 返回位置值的指针。size()
: 返回数组的元素数量。// 创建一个包含5个元素的位置数组
OpenSubdiv::Far::LocationArray locations(0, 5);
// 设置位置数据
locations[0] = OpenSubdiv::Sdc::Vertex(0.0f, 0.0f, 0.0f);
locations[1] = OpenSubdiv::Sdc::Vertex(0.5f, 0.0f, 0.0f);
locations[2] = OpenSubdiv::Sdc::Vertex(1.0f, 0.0f, 0.0f);
locations[3] = OpenSubdiv::Sdc::Vertex(1.0f, 1.0f, 0.0f);
locations[4] = OpenSubdiv::Sdc::Vertex(0.0f, 1.0f, 0.0f);
// 获取位置数据
OpenSubdiv::Sdc::Vertex *values = locations.values();