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

OpenSubdiv.OPENSUBDIV_VERSION.Far.PatchHandle

OpenSubdiv是Pixar在2012年发布的一款高性能细分曲面绘制引擎。其中的Far.PatchHandle是OpenSubdiv细分曲面绘制引擎中的一个类,其作用是表示曲面细分中的一个Patch。

类型定义

typedef unsigned int Index; // 数据类型为无符号整型

struct PatchHandle // 表示细分曲面中的一个Patch
{
    Index patchIndex;
    unsigned int childIndex;
};

属性说明

  • patchIndex: 表示Patch的id,数据类型为Index。
  • childIndex: 表示Patch的子表示法,是一个无符号整型。

成员函数

  • PatchHandle(): 默认构造函数。
  • PatchHandle(Index pi, unsigned int ci): 指定id和子表示法构造函数。
  • PatchHandle(const PatchHandle& src): 复制构造函数。
  • PatchHandle& operator=(const PatchHandle& src): 等号运算符重载函数。
  • bool IsValid() const: 判断当前PatchHandle是否有效。
  • Index GetFaceIndex() const: 获取当前PatchHandle所在的面的id。

使用范例

Far::PatchHandle patchHandle(1, 0);
assert(patchHandle.IsValid() == true);
assert(patchHandle.GetFaceIndex() == 1);