次の方法で共有


ID3DX10Mesh::Optimize メソッド

面と頂点を並べ替えて新しいメッシュを生成し、描画パフォーマンスを最適化します。

構文

HRESULT Optimize(
  [in]  UINT        Flags,
  [in]  UINT        *pFaceRemap,
  [out] LPD3D10BLOB *ppVertexRemap
);

パラメーター

Flags [in]

型: UINT

実行する最適化の種類を指定します。 このパラメーターは、D3DXMESHOPT および D3DXMESH からの 1 つ以上のフラグの組み合わせに設定できます (D3DXMESH_32BIT、D3DXMESH_IB_WRITEONLY、およびD3DXMESH_WRITEONLYを除く)。

pFaceRemap [in]

型: UINT*

最適化されたメッシュ内の各面に対応する元のメッシュ面を識別する、1 つの面に 1 つの UD の配列。 この引数に指定された値が NULL の場合、顔の再マップ データは返されません。

ppVertexRemap [out]

種類: LPD3D10BLOB*

ID3D10Blob インターフェイスへのポインターのアドレス。このインターフェイスには、新しい頂点が古い頂点にどのようにマップされるかを指定する各頂点の DWORD が含まれます。 この再マップは、新しい頂点マッピングに基づいて外部データを変更する必要がある場合に便利です。

戻り値

型: HRESULT

戻り値は、「 Direct3D 10 リターン コード」に記載されている値の 1 つです。

注釈

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

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

要件

要件
ヘッダー
D3DX10.h
ライブラリ
D3DX10.lib

こちらもご覧ください

ID3DX10Mesh

D3DX インターフェイス