次の方法で共有


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 内容

関連項目

D3DXEFFECTDEFAULT, D3DXEFFECTINSTANCE