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