ID3DXSkinInfo::ConvertToBlendedMesh 方法

采用网格并返回具有每个顶点混合权重和骨骼组合表的新网格。 该表描述了哪些骨骼会影响网格的哪些子集。

语法

HRESULT ConvertToBlendedMesh(
  [in]        LPD3DXMESH   pMesh,
  [in]        DWORD        Options,
  [in]  const DWORD        *pAdjacencyIn,
  [in]        LPDWORD      pAdjacencyOut,
  [out]       DWORD        *pFaceRemap,
  [out]       LPD3DXBUFFER *ppVertexRemap,
  [out]       DWORD        *pMaxVertexInfl,
  [out]       DWORD        *pNumBoneCombinations,
  [out]       LPD3DXBUFFER *ppBoneCombinationTable,
  [out]       LPD3DXMESH   *ppMesh
);

参数

pMesh [in]

类型: LPD3DXMESH

输入网格。 请参阅 ID3DXMesh

选项 [in]

类型: DWORD

当前未使用。

pAdjacencyIn [in]

类型: const DWORD*

输入网格相邻信息。

pAdjacencyOut [in]

类型: LPDWORD

输出网格相邻信息。

pFaceRemap [out]

类型: DWORD*

一个 DWORD 数组,每个人脸一个,用于标识与混合网格中的每个人脸对应的原始网格人脸。 如果为此参数提供的值为 NULL,则不返回人脸重新映射数据。

ppVertexRemap [out]

类型: LPD3DXBUFFER*

指向 ID3DXBuffer 接口的指针的地址,该接口包含每个顶点的 DWORD,该顶点指定新顶点如何映射到旧顶点。 如果需要根据新的顶点映射更改外部数据,此重新映射非常有用。 此参数是可选的;可以使用 NULL

pMaxVertexInfl [out]

类型: DWORD*

指向 DWORD 的指针,该指针将包含此皮肤方法每个顶点所需的最大骨骼影响数。

pNumBoneCombinations [out]

类型: DWORD*

指向骨骼组合表中的骨骼数的指针。

ppBoneCombinationTable [out]

类型: LPD3DXBUFFER*

指向骨骼组合表的指针。 数据在 D3DXBONECOMBINATION 结构中组织。

ppMesh [out]

类型: LPD3DXMESH*

指向新网格的指针。

返回值

类型: HRESULT

如果方法成功,则返回值D3D_OK。 如果 方法失败,则可以D3DERR_INVALIDCALL返回值。

备注

重映射数组中的每个元素指定该位置的上一个索引。 例如,如果顶点位于位置 3,但已重新映射到位置 5,则 pVertexRemap 的第五个元素将包含 3。

此方法在不支持固定函数顶点混合的硬件上运行。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

ID3DXSkinInfo