D3DXOptimizeVertices 函数

为三角形列表生成优化的顶点重新映射。 此函数通常在应用 D3DXOptimizeFaces 生成的人脸重新映射后使用。

语法

HRESULT D3DXOptimizeVertices(
  _In_    LPCVOID pIndices,
  _In_    UINT    NumFaces,
  _In_    UINT    NumVertices,
  _In_    BOOL    Indices32Bit,
  _Inout_ DWORD   *pVertexRemap
);

参数

pIndices [in]

类型: LPCVOID

指向要用于对顶点进行排序的三角形列表索引的指针。

NumFaces [in]

类型: UINT

三角形列表中的人脸数。

NumVertices [in]

类型: UINT

三角形列表引用的顶点数。

Indices32Bit [in]

类型: BOOL

指示索引类型的标志:如果索引为 32 位 (超过 65535 个顶点) ,则为 TRUE ;如果索引为 16 位 (65535 或更少顶点) , 则为 FALSE

pVertexRemap [in, out]

类型: DWORD*

指向目标缓冲区的指针,该缓冲区将包含每个顶点的新索引。 存储在 给定元素的 pVertexRemap 中的值是新顶点顺序中的源顶点位置。

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

备注

默认情况下,除非应用程序另有指定,否则网格在创建网格时使用 16 位索引。 若要检查现有网格是使用 16 位还是 32 位索引,请调用 ID3DXBaseMesh::GetOptions 并为D3DXMESH_32BIT标志调用检查。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

网格函数