D3DXSaveMeshToX 函数

将网格保存到 x 文件。

语法

HRESULT D3DXSaveMeshToX(
  _In_       LPCTSTR            pFilename,
  _In_       LPD3DXMESH         pMesh,
  _In_ const DWORD              *pAdjacency,
  _In_ const D3DXMATERIAL       *pMaterials,
  _In_ const D3DXEFFECTINSTANCE *pEffectInstances,
  _In_       DWORD              NumMaterials,
  _In_       DWORD              Format
);

参数

pFilename [中]

类型: LPCTSTR

指向指定文件名的字符串的指针。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,string 数据类型将解析为 LPCSTR。 请参阅“备注”。

pMesh [中]

类型: LPD3DXMESH

指向 ID3DXMesh 接口的指针,它表示要保存到 x.x.x.x 文件的网格。

pAdjacency [中]

类型: Const DWORD *

指向三个每面 Dword 的数组的指针,该数组指定网格中每个字型的三个相邻。 此参数可以为 NULL

pMaterials [中]

类型: Const D3DXMATERIAL *

指向 D3DXMATERIAL 结构的数组的指针,其中包含要保存在 x 文件中的材料信息。

pEffectInstances [中]

类型: Const D3DXEFFECTINSTANCE *

一个指针,指向效果实例的数组,网格中的每个属性组一个。 此参数可以为 NULL。 效果实例是用于初始化效果的状态信息的特定实例。 有关详细信息,请参阅 D3DXEFFECTINSTANCE

NumMaterials [中]

类型: DWORD

PMaterials 数组中的 D3DXMATERIAL结构数。

格式 [中]

类型: DWORD

保存 x 文件时文件格式和保存选项的组合。 请参阅 D3DX X 文件常量

返回值

类型: HRESULT

如果该函数成功,则返回值为 D3D _ OK。 如果函数失败,则返回值可以是下列值之一: D3DERR _ INVALIDCALL。

备注

编译器设置还可确定函数版本。 如果定义了 Unicode,则函数调用解析为 D3DXSaveMeshToXW。 否则,函数调用将解析为 D3DXSaveMeshToXA,因为使用的是 ANSI 字符串。

默认文件格式为 binary;但是,如果将文件指定为二进制文件和文本文件,则该文件将保存为文本文件。 无论采用何种文件格式,也可以使用压缩格式来减小文件大小。

下面是如何使用此函数的典型代码示例。

ID3DXMesh*    m_pMesh;           // Mesh object to be saved to a .x file
D3DXMATERIAL* m_pMaterials;      // Array of material structs in the mesh
DWORD         m_dwNumMaterials;  // Number of material structs in the mesh
    
DWORD dwFormat = D3DXF_FILEFORMAT_BINARY;  // Binary-format .x file (default)
// DWORD dwFormat = D3DXF_FILEFORMAT_TEXT; // Text-format .x file
    
// Load mesh into m_pMesh and determine values of m_pMaterials and 
// m_dwNumMaterials with calls to D3DXLoadMeshxxx or other D3DX functions
    
// ...
        
D3DXSaveMeshToX(
    L"outputxfilename.x",
    m_pMesh,
    NULL,
    m_pMaterials,
    NULL,
    m_dwNumMaterials,
    dwFormat );

要求

要求 Value
标头
D3DX9Mesh

D3dx9

请参阅

网格函数

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE