OpenSubdiv.OPENSUBDIV_VERSION.Far.TopologyDescriptor是对OpenSubdiv中Far模块的拓扑描述符的定义。它描述一个拓扑类型的基本属性,比如拓扑类型、边的类型等。
描述拓扑结构的类型。值为枚举类型:kCatmark
、kBilinear
、kLoop
和kUnknown
。
描述面的拓扑类型。具体取值为枚举类型Far::TopologyDescriptor::FarTopologyType
。
描述每个面有多少个顶点。
描述每个多边形有多少个顶点。
描述多边形的群组。可以使用整数来标识每个多边形所属的组。
描述折线的边缘索引。CreaseIndices是一个int类型的数组。
描述折线的权重。CreaseWeights是一个float类型的数组。
描述尖角的边缘索引。CornerIndices是一个int类型的数组。
描述尖角的锐度。CornerSharpness是一个float类型的数组。
以下示例代码展示了使用OpenSubdiv.OPENSUBDIV_VERSION.Far.TopologyDescriptor对象的方法:
OpenSubdiv::Far::TopologyDescriptor desc;
desc.SetSchemeType( OpenSubdiv::Far::TopologyDescriptor::SCHEME_CATMARK );
desc.SetFaceTopology( OpenSubdiv::Far::TopologyDescriptor::NON_PATCH );
desc.SetNumVerticesPerFace( 4 );
// 创建一个拓扑描述符
OpenSubdiv::Far::TopologyRefiner::Create( desc, ... );
OpenSubdiv官方文档:https://graphics.pixar.com/opensubdiv/docs/cpp_api/a00194.html