OpenSubdiv.OPENSUBDIV_VERSION.Bfr
OpenSubdiv.OPENSUBDIV_VERSION.Far
OpenSubdiv.OPENSUBDIV_VERSION.Osd
OpenSubdiv.OPENSUBDIV_VERSION.Sdc
OpenSubdiv.OPENSUBDIV_VERSION.Vtr

OpenSubdiv.OPENSUBDIV_VERSION.Far.LocationArray

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();