ID3DX10Mesh::Optimize

面と頂点の順序を変更したメッシュを新しく生成して、描画パフォーマンスを最適化します。

HRESULT 
Optimize(
  UINT Flags,
  UINT *pFaceRemap,
  LPD3D10BLOB *ppVertexRemap
);

パラメータ

  • Flags
    実行する最適化のタイプを指定します。このパラメーターには、D3DXMESHOPT および D3DXMESH (D3DXMESH_32BIT、D3DXMESH_IB_WRITEONLY、および D3DXMESH_WRITEONLY を除く) のフラグを 1 つまたは複数組み合わせて設定できます。
  • pFaceRemap
    各面に 1 つの UNIT の配列です。この配列は、最適化するメッシュの各面に対応する元のメッシュ面を識別します。この引数の値が NULL の場合、面の再マップ データは返されません。
  • ppVertexRemap
    ID3D10Blob インターフェイス へのポインターのアドレスです。これには、新しい頂点を古い頂点にマップする方法を指定する各頂点の DWORD が含まれます。この再マップは、新しい頂点マッピングに基づいて外部データを変更する必要がある場合に役立ちます。

戻り値

戻り値は、「Direct3D 10 のリターン コード」に示すいずれかの値です。

解説 

このメソッドは、新しいメッシュを生成します。Optimize を実行する前に、アプリケーションで ID3DX10Mesh::GenerateAdjacencyAndPointReps を呼び出して隣接性バッファーを生成する必要があります。隣接性バッファーには、互いに隣接するエッジや面の一覧などの隣接性データが格納されます。

このメソッドは、ID3DX10Mesh::CloneMesh メソッドとよく似ていますが、メッシュの新しいクローンを生成しているときに最適化を実行できるという点で異なります。出力メッシュは、入力メッシュのすべての作成パラメーターを継承します。

要件

ヘッダー: D3DX10.h 宣言

ライブラリ: D3DX10.lib 内容

関連項目

D3DX インターフェイス