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。
此方法在不支持固定函数顶点混合的硬件上运行。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅