Microsoft DirectX 8.0 (Visual Basic)

D3DXSkinMesh.ConvertToIndexedBlendedMesh

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

object.ConvertToIndexedBlendedMesh( _ 
    Options As Long, _ 
    AdjacencyIn As Any, _ 
    PaletteSize As Long, _ 
    AdjacencyOut As Any, _ 
    RetNumBoneCombinations As Long, _ 
    RetBoneCombinationTable As D3DXBuffer) As D3DXMesh

指定項目

object
D3DXSkinMesh オブジェクトを表すオブジェクト式。
Options
メッシュに対するオプションを指定する、CONST_D3DXMESH 列挙で定義される 1 つ以上のフラグの組み合わせ。
AdjacencyIn
ソース メッシュに含まれる各面の 3 つの隣接面を指定する、1 面あたりの 3 つの Long 値の配列の最初の要素。
PaletteSize
パレット サイズ。
AdjacencyOut
最適化されたメッシュの面隣接性配列に使用する転送先バッファ。面隣接性は、配列の配列として格納される。最も内側の配列は、隣接する三角形の 3 つのインデックスで、外側の配列は、メッシュ内の三角形ごとの面隣接性の 1 セットである。
RetNumBoneCombinations
エントリの数。
RetBoneCombinationTable
D3DXBONECOMBINATION 型の配列の最初の要素。型のカウントは NumBoneCombinations である。それぞれのボーン組み合わせ表に、一度に描画できる 4 つのボーンが定義される。

戻り値

ブレンドされたメッシュを表す D3DXMesh オブジェクト。

エラー コード

失敗した場合はエラーが発生し、Err.NumberE_OUTOFMEMORY が設定される。

エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。

注意

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

次のサンプル コードは、D3DXBuffer オブジェクトを使用して隣接性情報を渡す方法を示している。

Dim Opts As Long
Dim D3DXbAdjacencyIn As D3DXBuffer
Dim PalSize as Long
Dim D3DXbAdjacencyOut As Any
Dim NumBC As Long
Dim RetTable As D3DXBuffer

' このコードでは、すべての引数が
' 正しく初期化されていると仮定している。
Call D3DX8.ConvertToIndexedBlendedMesh(Opts, ByVal D3DXbAdjacencyIn.GetBufferPointer, PalSize, D3DXbAdjacencyOut, _ 
                                            NumBC, RetTable )