共用方式為


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]

類型: LPDIRECT3DDEVICE9

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,它會以名為 「Name」 的注釋名稱對應至效果變數。這會包含紋理的字串檔案名。

規格需求

需求
標頭
D3DX9Mesh.h
程式庫
D3dx9.lib

另請參閱

網格函數

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE