Microsoft DirectX 8.0 (C++)

ID3DXSkinMesh::ConvertToIndexedBlendedMesh

インデックス付きのブレンドされたメッシュを返す。

HRESULT ConvertToIndexedBlendedMesh(
  DWORD Options,
  CONST LPDWORD pAdjacencyIn,
  DWORD PaletteSize,
  LPDWORD pAdjacencyOut,
  DWORD* pNumBoneCombinations
  LPD3DXBUFFER* ppBoneCombinationTable
  LPD3DXMESH* ppMesh,
);

パラメータ

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 フラグを使用して作成されることになる。これは、Microsoft® Direct3D® の N パッチ拡張機能を使用してメッシュ オブジェクトをレンダリングする場合に必要となる。
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 の両方を指定したことになる。
pAdjacencyIn
[in] ソース メッシュに含まれる各面の 3 つの隣接面を指定する、1 面あたりの 3 つの DWORD の配列へのポインタ。
PaletteSize
[in] パレット サイズ。
pAdjacencyOut
[in, out] 最適化されたメッシュの面隣接性配列に使用する転送先バッファへのポインタ。面隣接性は、配列の配列として格納される。最も内側の配列は、隣接する三角形の 3 つのインデックスで、外側の配列は、メッシュ内の三角形ごとの面隣接性の 1 セットである。
pNumBoneCombinations
[in, out] エントリの数。
ppBoneCombinationTable
[in, out] D3DXBONECOMBINATION 構造体の配列へのポインタのアドレス。構造体のカウントは pNumBoneCombinations である。それぞれのボーン組み合わせ表に、一度に描画できる 4 つのボーンが定義される。
ppMesh
[in, out] インデックス付きのブレンドされたメッシュを表す ID3DXMesh インターフェイスへのポインタのアドレス。

戻り値

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

失敗した場合は、D3DERR_INVALIDCALL を返す。

注意

このメソッドは、スキン メッシュを受け取り、インデックス付きのブレンドされたメッシュに変換する。変換には、Microsoft DirectX® 8.0 で利用可能になった Microsoft® Direct3D® インデックス付き頂点ブレンディング機能を使用する。インデックス付き頂点ブレンディングでは、インデックスを使用して、行列パレットへのインデックスを作成する。詳細については、「ジオメトリ ブレンディング」を参照すること。スキン メッシュからインデックス付きのブレンドされたメッシュに変換すると、単一の描画呼び出しの中でメッシュをレンダリングできる。

動作環境

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