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 [in]

类型: LPCTSTR

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

pMesh [in]

类型: LPD3DXMESH

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

pAdjacency [in]

类型: const DWORD*

指向每个人脸三个 DWORD 的数组的指针,该数组指定网格中每个人脸的三个邻居。 此参数可以为 NULL

pMaterials [in]

类型: const D3DXMATERIAL*

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

pEffectInstances [in]

类型: const D3DXEFFECTINSTANCE*

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

NumMaterials [in]

类型: DWORD

pMaterials 数组中的 D3DXMATERIAL 结构数。

格式 [in]

类型: DWORD

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

返回值

类型: HRESULT

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

备注

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

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

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

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 );

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

网格函数

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE