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