D3DXLoadSkinMeshFromXof 函数

从 DirectX .x 文件数据对象加载外观网格。

语法

HRESULT D3DXLoadSkinMeshFromXof(
  _In_  LPD3DXFILEDATA    pxofMesh,
  _In_  DWORD             Options,
  _In_  LPDIRECT3DDEVICE9 pD3DDevice,
  _Out_ LPD3DXBUFFER      *ppAdjacency,
  _Out_ LPD3DXBUFFER      *ppMaterials,
  _Out_ LPD3DXBUFFER      *ppEffectInstances,
  _Out_ DWORD             *pMatOut,
  _Out_ LPD3DXSKININFO    *ppSkinInfo,
  _Out_ LPD3DXMESH        *ppMesh
);

parameters

pxofMesh [in]

类型: LPD3DXFILEDATA

指向 ID3DXFileData 接口的指针,表示要加载的文件数据对象。

选项 [in]

类型: DWORD

D3DXMESH 枚举中的一个或多个标志的组合,指定网格的创建选项。

pD3DDevice [in]

类型: LPDIRECT3DDEVICE9

指向 IDirect3DDevice9 接口(与网格关联的设备对象)的指针。

ppAdjacency [out]

类型: LPD3DXBUFFER*

指向 ID3DXBuffer 接口的指针的地址。 此方法返回时,此参数使用每个人脸三个 DWORD 的数组填充,该数组为网格中每个人脸指定三个邻居。

ppMaterials [out]

类型: LPD3DXBUFFER*

指向 ID3DXBuffer 接口的指针的地址。 方法返回时,此参数用 D3DXMATERIAL 结构的数组填充。

ppEffectInstances [out]

类型: LPD3DXBUFFER*

指向包含效果实例数组的缓冲区的指针,该数组在返回的网格中每个属性组各一个。 效果实例是用于初始化效果的状态信息的特定实例。 请参阅 D3DXEFFECTINSTANCE。 有关访问缓冲区的详细信息,请参阅 ID3DXBuffer

pMatOut [out]

类型: DWORD*

指向方法返回时 ppMaterials 数组中 D3DXMATERIAL 结构数的指针。

ppSkinInfo [out]

类型: LPD3DXSKININFO*

指向 ID3DXSkinInfo 接口的指针的地址,该接口表示外观信息。

ppMesh [out]

类型: LPD3DXMESH*

指向 ID3DXMesh 接口的指针的地址,该接口表示加载的网格。

返回值

类型: HRESULT

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

备注

此方法使用指向 .x 文件中的内部对象的指针,使你能够加载帧层次结构。

对于不包含效果实例信息的网格文件,将从 .x 文件中的材料信息生成默认效果实例。 默认效果实例将具有对应于 D3DMATERIAL9 结构成员的默认值。

默认纹理名称也会填充,但处理方式不同。 名称将Texture0@Name,它对应于名为“Texture0”且批注为“Name”的效果变量。这将包含纹理的字符串文件名。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

网格函数

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE