次の方法で共有


D3DXOptimizeVertices

トライアングル リストに対して再マッピングする最適化された頂点を生成します。この関数は、一般に、D3DXOptimizeFaces で生成された面の再マッピングを適用した後で使用されます。

HRESULT 
D3DXOptimizeVertices(
  LPCVOID pIndices,
  UINT NumFaces,
  UINT NumVertices,
  BOOL Indices32Bit,
  DWORD * pVertexRemap
);

パラメータ

  • pIndices
    頂点の順序付けに使用するトライアングル リスト インデックスへのポインター
  • NumFaces
    トライアングル リスト内の面の数
  • NumVertices
    トライアングル リストにより参照される頂点の数
  • Indices32Bit
    インデックス タイプを指定するフラグ。インデックスが 32 ビットの場合は TRUE (頂点が 65535 を超える)、インデックスが 16 ビットの場合は FALSE (頂点が 65535 以下) です。
  • pVertexRemap
    各頂点の新しいインデックスを格納する転送先バッファーへのポインターです。特定の要素に対して pVertexRemap に格納される値は、新しい頂点の順番におけるソース頂点の位置です。

戻り値

成功すると、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、E_OUTOFMEMORY

解説 

デフォルトでは、作成時にアプリケーションで特に指定されない限り、メッシュには 16 ビットのインデックスが使用されます。既存のメッシュが 16 ビットまたは 32 ビットのインデックスのどちらを使用しているかをチェックするには、ID3DXBaseMesh::GetOptions を呼び出して D3DXMESH_32BIT フラグを確認します。

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容