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

OpenSubdiv.OPENSUBDIV_VERSION.Osd.CpuPatchTable

简介

OpenSubdiv.OPENSUBDIV_VERSION.Osd.CpuPatchTable是OpenSubdiv框架中的一个模块,用于处理CPU上计算面片细分时需要使用的补丁信息。

使用方法

构造函数

CpuPatchTable(int numVertexElements, int numVaryingElements, int numPatches, int numControlVertices,
                 int maxValence, Scheme scheme, Options options);

参数说明:

  • numVertexElements:顶点元素数量
  • numVaryingElements:可变元素数量
  • numPatches:补丁数量
  • numControlVertices:控制顶点数量
  • maxValence:最大权值(valence),即每个顶点的相邻顶点数量
  • scheme:细分方案
  • options:选项

获取信息

const std::vector<int> &GetPatchArray() const;
const std::vector<int> &GetFarPatchArray() const;
const std::vector<int> &GetPatchIndexBuffer() const;
const std::vector<int> &GetPatchParamBuffer() const;
const std::vector<float> &GetPatchParamSDABuffer() const;
const PatchTable &GetPatchTable() const;

这些方法用于获取构造好的CpuPatchTable中的信息。

总结

通过OpenSubdiv.OPENSUBDIV_VERSION.Osd.CpuPatchTable,可以在CPU上处理细分过程中需要的补丁信息。