D3DXLoadMeshFromX 函数
从 DirectX .x 文件加载网格。
语法
HRESULT D3DXLoadMeshFromX(
_In_ LPCTSTR pFilename,
_In_ DWORD Options,
_In_ LPDIRECT3DDEVICE9 pD3DDevice,
_Out_ LPD3DXBUFFER *ppAdjacency,
_Out_ LPD3DXBUFFER *ppMaterials,
_Out_ LPD3DXBUFFER *ppEffectInstances,
_Out_ DWORD *pNumMaterials,
_Out_ LPD3DXMESH *ppMesh
);
参数
-
pFilename [in]
-
类型: LPCTSTR
指向指定文件名的字符串的指针。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,字符串数据类型解析为 LPCSTR。 请参阅“备注”。
-
选项 [in]
-
类型: DWORD
D3DXMESH 枚举中的一个或多个标志的组合,该枚举指定网格的创建选项。
-
pD3DDevice [in]
-
指向 IDirect3DDevice9 接口(与网格关联的设备对象)的指针。
-
ppAdjacency [out]
-
类型: LPD3DXBUFFER*
指向包含相邻数据的缓冲区的指针。 相邻数据包含每个人脸三个 DWORD 的数组,该数组指定网格中每个人脸的三个邻居。 有关访问缓冲区的详细信息,请参阅 ID3DXBuffer。
-
ppMaterials [out]
-
类型: LPD3DXBUFFER*
指向包含材料数据的缓冲区的指针。 缓冲区包含 一个 D3DXMATERIAL 结构的数组,其中包含来自 DirectX 文件的信息。 有关访问缓冲区的详细信息,请参阅 ID3DXBuffer。
-
ppEffectInstances [out]
-
类型: LPD3DXBUFFER*
指向包含效果实例数组的缓冲区的指针,该数组在返回的网格中每个属性组各一个。 效果实例是用于初始化效果的状态信息的特定实例。 请参阅 D3DXEFFECTINSTANCE。 有关访问缓冲区的详细信息,请参阅 ID3DXBuffer。
-
pNumMaterials [out]
-
类型: DWORD*
指向方法返回时 ppMaterials 数组中 D3DXMATERIAL 结构数的指针。
-
ppMesh [out]
-
类型: LPD3DXMESH*
指向 ID3DXMesh 接口的指针的地址,表示加载的网格。
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。
备注
编译器设置还确定函数版本。 如果定义了 Unicode,则函数调用将解析为 D3DXLoadMeshFromXW。 否则,函数调用将解析为 D3DXLoadMeshFromXA,因为正在使用 ANSI 字符串。
文件中的所有网格将折叠为一个输出网格。 如果文件包含帧层次结构,则所有转换都将应用于网格。
对于不包含效果实例信息的网格文件,将从 .x 文件中的材料信息生成默认效果实例。 默认效果实例将具有对应于 D3DMATERIAL9 结构成员的默认值。
默认纹理名称也会填充,但处理方式不同。 名称将Texture0@Name,它对应于名为“Texture0”且批注为“Name”的效果变量。这将包含纹理的字符串文件名。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅