D3DXLoadMeshFromX
DirectX (.x) ファイルからメッシュをロードします。
HRESULT
D3DXLoadMeshFromX(
LPCTSTR pFilename,
DWORD Options,
LPDIRECT3DDEVICE9 pD3DDevice,
LPD3DXBUFFER * ppAdjacency,
LPD3DXBUFFER * ppMaterials,
LPD3DXBUFFER * ppEffectInstances,
DWORD * pNumMaterials,
LPD3DXMESH * ppMesh
);
パラメータ
- pFilename
ファイル名を指定する文字列へのポインターです。コンパイラーの設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。それ以外の場合、文字列データ型は LPCSTR に解決されます。「解説」を参照してください。 - Options
D3DXMESH 列挙型からの 1 つ以上のフラグの組み合わせです。メッシュの作成オプションを指定します。 - pD3DDevice
IDirect3DDevice9 インターフェイス (メッシュに関連付けられたデバイス オブジェクト) へのポインターです。 - ppAdjacency
隣接性データが格納されたバッファーへのポインターです。隣接性データには、メッシュの各面に対する 3 つの隣接面を表す 3 つの DWORD の配列が含まれています。バッファーへのアクセスの詳細については、「ID3DXBuffer」を参照してください。 - ppMaterials
マテリアル データを含むバッファーへのポインターです。バッファーには、DirectX ファイルからの情報を格納する D3DXMATERIAL 構造体の配列が含まれています。バッファーへのアクセスの詳細については、「ID3DXBuffer」を参照してください。 - ppEffectInstances
エフェクト インスタンス (返されるメッシュ内の属性グループごとに 1 つ) の配列を含むバッファーへのポインターです。エフェクト インスタンスは、エフェクトを初期化するときに使用する、ステート情報の特定のインスタンスです。「D3DXEFFECTINSTANCE」を参照してください。バッファーへのアクセスの詳細については、「ID3DXBuffer」を参照してください。 - pNumMaterials
ppMaterials 配列に含まれる D3DXMATERIAL 構造体の数へのポインターです。このポインターはメソッドから制御が返ると渡されます。 - ppMesh
ロードされたメッシュを表す ID3DXMesh インターフェイスへのポインターのアドレスです。
戻り値
成功すると、D3D_OK を返します。失敗した場合は、次のいずれかの値を返します。D3DERR_INVALIDCALL、E_OUTOFMEMORY
解説
コンパイラ設定により、関数のバージョンも決定されます。Unicode が定義されている場合、関数呼び出しは D3DXLoadMeshFromXW に解決されます。それ以外の場合は、ANSI 文字列が使用されるため、D3DXLoadMeshFromXA に解決されます。
ファイルに含まれるすべてのメッシュは、1 つの出力メッシュにまとめられます。ファイルにフレーム階層が含まれる場合、すべてのトランスフォームがメッシュに適用されます。
エフェクト インスタンス情報を含まないメッシュ ファイルの場合、デフォルトのエフェクト インスタンスは .x ファイルのマテリアル情報から生成されます。デフォルトのエフェクト インスタンスは、D3DMATERIAL9 構造体のメンバーに対応するデフォルト値を持ちます。
デフォルトのテクスチャー名も使用されますが、処理が異なります。名前は Texture0@Name です。"Name" というアノテーションの付いた "Texture0" という名前でエフェクト変数に対応します。これには、テクスチャーの文字列ファイル名が含まれます。
要件
ヘッダー: D3DX9Mesh.h 宣言
ライブラリ: D3dx9.lib 内容