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 列挙からの 1 つ以上のフラグの組み合わせ。

pD3DDevice [in]

種類: LPDIRECT3DDEVICE9

メッシュに関連付けられているデバイス オブジェクトである IDirect3DDevice9 インターフェイスへのポインター。

ppAdjacency [out]

種類: LPD3DXBUFFER*

隣接データを含むバッファーへのポインター。 隣接データには、メッシュ内の各面の 3 つの隣接を指定する 1 つの面に 3 つの DWORD の配列が含まれています。 バッファーへのアクセスの詳細については、「 ID3DXBuffer」を参照してください。

ppMaterials [out]

種類: LPD3DXBUFFER*

マテリアル データを含むバッファーへのポインター。 バッファーには、DirectX ファイルからの情報を含む D3DXMATERIAL 構造体の配列が含まれています。 バッファーへのアクセスの詳細については、「 ID3DXBuffer」を参照してください。

ppEffectInstances [out]

種類: LPD3DXBUFFER*

返されたメッシュ内の属性グループごとに 1 つずつ、効果インスタンスの配列を含むバッファーへのポインター。 効果インスタンスは、効果を初期化するために使用される状態情報の特定のインスタンスです。 「D3DXEFFECTINSTANCE」を参照してください。 バッファーへのアクセスの詳細については、「 ID3DXBuffer」を参照してください。

pNumMaterials [out]

種類: DWORD*

メソッドが返されるときに、ppMaterials 配列内の D3DXMATERIAL 構造体の数へのポインター。

ppMesh [out]

種類: LPD3DXMESH*

読み込まれたメッシュを表す ID3DXMesh インターフェイスへのポインターのアドレス。

戻り値

種類: HRESULT

関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値には次のいずれかの値を指定できます:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

解説

コンパイラ設定によって、関数のバージョンも決定されます。 Unicode が定義されている場合、関数呼び出しは D3DXLoadMeshFromXW に解決されます。 それ以外の場合、ANSI 文字列が使用されているため、関数呼び出しは D3DXLoadMeshFromXA に解決されます。

ファイル内のすべてのメッシュは、1 つの出力メッシュに折りたたまれます。 ファイルにフレーム階層が含まれている場合、すべての変換がメッシュに適用されます。

エフェクト インスタンス情報が含まれていないメッシュ ファイルの場合、既定のエフェクト インスタンスは.x ファイル内のマテリアル情報から生成されます。 既定の効果インスタンスには、 D3DMATERIAL9 構造体のメンバーに対応する既定値があります。

既定のテクスチャ名も入力されますが、処理方法は異なります。 名前はTexture0@Nameされます。これは、"Name" という注釈を持つ "Texture0" という名前の効果変数に対応します。これには、テクスチャの文字列ファイル名が含まれます。

要件

要件
ヘッダー
D3DX9Mesh.h
ライブラリ
D3dx9.lib

関連項目

メッシュ関数

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE