ID3DXSkinMesh::GenerateSkinnedMesh
スキニングによってメッシュを生成する。
HRESULT GenerateSkinnedMesh(
DWORD Options,
FLOAT minWeight,
CONST LPDWORD pAdjacencyIn,
LPDWORD pAdjacencyOut,
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 の両方を指定したことになる。
- minWeight
- [in] 最小ウェイト固定値を設定する。
- pAdjacencyIn
- [in, out] ソース メッシュに含まれる各面の 3 つの隣接面を指定する、1 面あたりの 3 つの DWORD の配列へのポインタ。
- pAdjacencyOut
- [in, out] 最適化されたメッシュの面隣接性配列に使用する転送先バッファへのポインタ。面隣接性は、配列の配列として格納される。最も内側の配列は、隣接する三角形の 3 つのインデックスで、外側の配列は、メッシュ内の三角形ごとの面隣接性の 1 セットである。
- ppMesh
- [out, retval] スキニングによって生成されたメッシュを表す、ID3DXMesh インターフェイスへのポインタ。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、D3DERR_INVALIDCALL を返す。
注意
このメソッドにより生成されるメッシュは、スケルトン トランスフォームが変更されるたびに、ID3DXSkinMesh::UpdateSkinnedMesh に指定する必要があるメッシュである。
ヘッダー : D3dx8mesh.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。
参照
ID3DXSkinMesh::UpdateSkinnedMesh