次の方法で共有


D3DXLoadMeshFromXInMemory

メモリーからメッシュをロードします。

HRESULT 
D3DXLoadMeshFromXInMemory(
  LPCVOID Memory,
  DWORD SizeOfMemory,
  DWORD Options,
  LPDIRECT3DDEVICE9 pD3DDevice,
  LPD3DXBUFFER * ppAdjacency,
  LPD3DXBUFFER * ppMaterials,
  LPD3DXBUFFER * ppEffectInstances,
  DWORD * pNumMaterials,
  LPD3DXMESH * ppMesh
);

パラメータ

  • Memory
    メッシュ データを含むメモリー バッファーへのポインターです。
  • SizeOfMemory
    メモリー内のサイズ (バイト単位)
  • 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

解説 

ファイルに含まれるすべてのメッシュは、1 つの出力メッシュにまとめられます。ファイルにフレーム階層が含まれる場合、すべてのトランスフォームがメッシュに適用されます。

エフェクト インスタンス情報を含まないメッシュ ファイルの場合、デフォルトのエフェクト インスタンスは .x ファイルのマテリアル情報から生成されます。デフォルトのエフェクト インスタンスは、D3DMATERIAL9 構造体のメンバーに対応するデフォルト値を持ちます。

デフォルトのテクスチャー名も使用されますが、処理が異なります。名前は Texture0@Name です。"Name" というアノテーションの付いた "Texture0" という名前でエフェクト変数に対応します。これには、テクスチャーの文字列ファイル名が含まれます。

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

D3DXEFFECTDEFAULT, D3DXEFFECTINSTANCE