Microsoft DirectX 8.0 (Visual Basic)

D3DXPMesh.Optimize

メッシュの面および頂点の順番変更を制御し、パフォーマンスを最適化して、出力メッシュを生成する。

object.Optimize( _ 
    Flags As Long, _ 
    AdjacencyOut As Any, _ 
    FaceRemap As Any, _ 
    VertexRemapOut As D3DXBuffer) As D3DXMesh

指定項目

object
D3DXPMesh オブジェクトを表すオブジェクト式。
Flags
CONST_D3DXMESHOPT 列挙によって定義される 1 つ以上のフラグの組み合わせ。実行する最適化の種類を指定する。

最適化フラグの D3DXMESHOPT_STRIPREORDER および D3DXMESHOPT_VERTEXCACHE はそれぞれ相互に排他的である。

AdjacencyOut
最適化されたメッシュの面隣接性配列に使用する転送先バッファ。面隣接性は、配列の配列として格納される。最も内側の配列は、隣接する三角形の 3 つのインデックスで、外側の配列は、メッシュ内の三角形ごとの面隣接性の 1 セットである。この配列のサイズは、面の数の最大値に 3 を乗算したものである。
FaceRemap
各面の新規インデックスを格納する、転送先バッファ。
VertexRemapOut
各頂点の新規インデックスを格納する、D3DXBuffer オブジェクト。

戻り値

最適化されたメッシュを表す、D3DXMesh オブジェクト。

エラー コード

失敗した場合はエラーが発生し、Err.Number に次のいずれかの値が設定される。

D3DERR_INVALIDCALL
E_OUTOFMEMORY

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

注意

ClonePMeshFVF を使用して、プログレッシブ メッシュを 1 つの FVF から別の FVF に変換できる。

参照

D3DX8.FVFFromDeclaratorD3DXBaseMesh.GetFVF