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

OpenSubdiv.OPENSUBDIV_VERSION.Far.LimitStencilTableFactory

简介

OpenSubdiv.OPENSUBDIV_VERSION.Far.LimitStencilTableFactory 是OpenSubdiv库中的一个类,用于生成 OpenSubdiv.OPENSUBDIV_VERSION.Far.LimitStencilTable 的对象实例。

功能

该类的主要功能是生成 OpenSubdiv.OPENSUBDIV_VERSION.Far.LimitStencilTable 的对象实例,用于描述网格表面上每个顶点最大可扩展深度的限制情况。

接口

该类的主要接口如下:

template <class T, class U>  
class LimitStencilTableFactory {  
public:  
  static LimitStencilTable<U> *Create(FarMesh<U> const *mesh,  
                                       int numTables = 1,  
                                       Options const *options = NULL);  
};

其中,T 表示顶点的数据类型,U 表示图元(如边或面)的数据类型。

Create

该函数用于创建一个 OpenSubdiv.OPENSUBDIV_VERSION.Far.LimitStencilTable 的对象实例,并返回指向该实例的指针。

参数:

  • mesh :指向 OpenSubdiv.OPENSUBDIV_VERSION.FarMesh 的对象实例的指针,用于描述原始网格的拓扑、几何信息。
  • numTables :表示需要生成的限制表数量,默认值为1。
  • options :表示选项的配置,用于控制限制表生成的方式和质量。

使用示例

以下示例演示了如何使用 OpenSubdiv.OPENSUBDIV_VERSION.Far.LimitStencilTableFactory

#include <opensubdiv/far/topologyDescriptor.h>
#include <opensubdiv/far/topologyRefiner.h>
#include <opensubdiv/far/stencilTable.h>
#include <opensubdiv/far/limitStencilTable.h>
#include <opensubdiv/far/limitStencilTableFactory.h>

using namespace OpenSubdiv;

// 定义顶点数据类型
struct Vertex {
    // 顶点坐标
    float pos[3];
};

// 定义面数据类型
struct Face {
    // 面顶点索引
    int idx[4];
};

int main() {
    int numVertices = 8;
    int numFaces = 6;

    // 定义拓扑描述符
    FarTopologyDescriptor desc;
    desc.numVertices = numVertices;
    desc.numFaces = numFaces;
    desc.numVertsPerFace = 4;

    // 定义拓扑网格
    FarTopologyRefiner *refiner = FarTopologyRefinerFactory<Vertex, Face>::Create(desc, NULL);

    // 创建几何数据(略)

    // 生成限制表
    FarLimitStencilTable *limitStencilTable = LimitStencilTableFactory<Vertex, Face>::Create(refiner->GetFarMesh());

    // 使用限制表(略)

    return 0;
}

注意事项

  • 在调用 Create 函数之前,需先创建拓扑网格及其几何数据。

参考链接