共用方式為


ID3DX10Mesh::Optimize 方法

產生具有重新排序臉部和頂點的新網格,以優化繪圖效能。

語法

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

參數

旗標 [in]

類型: UINT

指定要執行的優化類型。 這個參數可以設定為 D3DXMESHOPT 和 D3DXMESH (的一或多個旗標的組合,但D3DXMESH_32BIT、D3DXMESH_IB_WRITEONLY和D3DXMESH_WRITEONLY) 除外。

pFaceRemap [in]

類型: UINT*

UINT 陣列,每個臉部一個,可識別對應至優化網格中每個臉部的原始網格面。 如果為此引數提供的值是 Null,則不會傳回臉部重新對應資料。

ppVertexRemap [out]

類型: LPD3D10BLOB*

ID3D10Blob 介面指標的位址,其中包含每個頂點的 DWORD,指定新頂點對應至舊頂點的方式。 如果您需要根據新的頂點對應來改變外部資料,此重新對應就很有用。

傳回值

類型: HRESULT

傳回值是 Direct3D 10 傳回碼中列出的其中一個值。

備註

這個方法會產生新的網格。 在執行 Optimize 之前,應用程式必須呼叫 ID3DX10Mesh::GenerateAdjacencyAndPointReps來產生相鄰緩衝區。 相鄰緩衝區包含連續的資料,例如邊緣清單和彼此連續的臉部。

這個方法與 ID3DX10Mesh::CloneMesh 方法非常類似,不同之處在于它可以在產生網格的新複本時執行優化。 輸出網格會繼承輸入網格的所有建立參數。

規格需求

需求
標頭
D3DX10.h
程式庫
D3DX10.lib

另請參閱

ID3DX10Mesh

D3DX 介面