Microsoft DirectX 8.0 (C++)

D3DXLoadSkinMeshFromXof

Microsoft® DirectX® (.x) ファイル データ オブジェクトからスキン メッシュをロードする。

HRESULT D3DXLoadSkinMeshFromXof(
  LPDIRECTXFILEDATA pXofObjMesh,
  DWORD Options,
  LPDIRECT3DDEVICE8 pD3DDevice,
  LPD3DXBUFFER* ppAdjacency,
  LPD3DXBUFFER* ppMaterials,
  PDWORD pMatOut,
  LPD3DXBUFFER* ppBoneNames,
  LPD3DXBUFFER* ppBoneTransforms,
  LPD3DXSKINMESH* ppMesh
);

パラメータ

pXofObjMesh
[in] ロードする DirectX ファイル データ オブジェクトを表す、IDirectXFileData インターフェイスへのポインタ。
Options
[in] メッシュの作成オプションを指定する 1 つ以上のフラグの組み合わせ。次のフラグが定義されている。
D3DXMESH_32BIT
メッシュに、16 ビットではなく 32 ビットのインデックスを作成する。32 ビットのメッシュは、最大 2^32-1 の面と頂点を含むことができる。このフラグはサポートされていないため使用できない。
D3DXMESH_DONOTCLIP
頂点バッファおよびインデックス バッファに D3DUSAGE_DONOTCLIP 利用フラグを使用する。
D3DXMESH_DYNAMIC
D3DXMESH_VB_DYNAMIC と D3DXMESH_IB_DYNAMIC の両方を指定したことになる。
D3DXMESH_RTPATCHES
頂点バッファおよびインデックス バッファに D3DUSAGE_RTPATCHES 利用フラグを使用する。
D3DXMESH_NPATCHES
このフラグを指定すると、メッシュの頂点バッファとインデックス バッファが D3DUSAGE_NPATCHES フラグを指定して作成される。これは、メッシュ オブジェクトを N パッチ エンハンスメントを使って Microsoft® Direct3D でレンダリングする場合に必要となる。
D3DXMESH_MANAGED
D3DXMESH_VB_MANAGED と D3DXMESH_IB_MANAGED の両方を指定したことになる。
D3DXMESH_POINTS
頂点バッファおよびインデックス バッファに D3DUSAGE_POINTS 利用フラグを使用する。
D3DXMESH_IB_DYNAMIC
インデックス バッファに D3DUSAGE_DYNAMIC 利用フラグを使用する。
D3DXMESH_IB_MANAGED
インデックス バッファに D3DPOOL_MANAGED メモリ クラスを使用する。
D3DXMESH_IB_SYSTEMMEM
インデックス バッファに D3DPOOL_SYSTEMMEM メモリ クラスを使用する。
D3DXMESH_IB_WRITEONLY
インデックス バッファに D3DUSAGE_WRITEONLY 利用フラグを使用する。
D3DXMESH_SYSTEMMEM
D3DXMESH_VB_SYSTEMMEM と D3DXMESH_IB_SYSTEMMEM の両方を指定したことになる。
D3DXMESH_VB_DYNAMIC
頂点バッファに D3DUSAGE_DYNAMIC 利用フラグを使用する。
D3DXMESH_VB_MANAGED
頂点バッファに D3DPOOL_MANAGED メモリ クラスを使用する。
D3DXMESH_VB_SYSTEMMEM
頂点バッファに D3DPOOL_SYSTEMMEM メモリ クラスを使用する。
D3DXMESH_VB_WRITEONLY
頂点バッファに D3DUSAGE_WRITEONLY 利用フラグを使用する。
D3DXMESH_WRITEONLY
D3DXMESH_VB_WRITEONLY と D3DXMESH_IB_WRITEONLY の両方を指定したことになる。
pD3DDevice
[in] メッシュに関連付けられているデバイス オブジェクトを表す IDirect3DDevice8 インターフェイスへのポインタ。
ppAdjacency
[in, out] ID3DXBuffer インターフェイスへのポインタのアドレス。メソッドが返ると、このパラメータには、メッシュに含まれる各面の 3 つの隣接面を指定する、1 面あたりの 3 つの DWORD の配列が入力される。
ppMaterials
[in, out] ID3DXBuffer インターフェイスへのポインタのアドレス。メソッドが返ると、このパラメータには D3DXMATERIAL 構造体の配列が入力される。
pMatOut
[in, out] メソッドが戻ったときの ppMaterials 配列内の D3DXMATERIAL 構造体の数へのポインタ。
ppBoneNames
[in, out] ボーン名を格納する ID3DXBuffer インターフェイスへのポインタのアドレス。
ppBoneTransforms
[in, out] ボーン トランスフォームを格納する ID3DXBuffer インターフェイスへのポインタのアドレス。
ppMesh
[out, retval] ロードされたメッシュを表す ID3DXSkinMesh インターフェイスへのポインタのアドレス。

戻り値

成功した場合は D3D_OK を返す。

失敗した場合は、次のいずれかの値を返す。

D3DERR_INVALIDCALL
D3DXERR_INVALIDDATA
E_OUTOFMEMORY

注意

このメソッドは、.x ファイル内の内部オブジェクトへのポインタを受け取り、フレーム階層をロードできる。

動作環境

  ヘッダー : D3dx8mesh.h で宣言。
  インポート ライブラリ : D3dx8.lib を使用。