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

OpenSubdiv.OPENSUBDIV_VERSION.Osd.MTLPatchTable

该文档描述了OpenSubdiv库中的Osd.MTLPatchTable类的使用方法和功能。

概述

Osd.MTLPatchTable类提供了适用于Metal API的曲面细分操作的转换表。该表的主要功能是存储每个细分曲面的控制点、边和面的位置关系,以及有关物体空间、纹理空间和尺寸等的细分数据。该表也可以进行索引和查找操作,以便在不同节点之间有效地共享细分数据。

函数列表

构造函数

  • MTLPatchTable(const FarPatchTables& farTables):构造一个Osd.MTLPatchTable类的对应对象,并使用给定的FarPatchTables初始化。

查询函数

  • int getPatchCount() const:返回该对象中的细分曲面数量。
  • MtlIntBuffer* GetPatchBuffer() const:返回细分曲面的数据缓冲区。

修改函数

  • void UpdatePatchTable(const FarPatchTables& farTables):更新Osd.MTLPatchTable对象的数据,以反映给定的FarPatchTables。

清理函数

  • void Clear():清空当前的Osd.MTLPatchTable对象数据。

范例

//构造一个Osd.MTLPatchTable对象
auto omt = new Osd.MTLPatchTable(farTables);

//获取当前对象中的细分曲面数量
auto patchCount = omt->getPatchCount();

//获取当前对象中细分曲面的数据缓冲区
auto patchBuf = omt->GetPatchBuffer();

//清空当前对象的数据
omt->Clear();

以上便是Osd.MTLPatchTable的技术文档,希望对您有所帮助。