D3DXOptimizeVertices-Funktion

Generiert eine optimierte Vertex-Neuzuordnung für eine Dreiecksliste. Diese Funktion wird häufig nach dem Anwenden der von D3DXOptimizeFaces generierten Gesichtserkennung verwendet.

Syntax

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

Parameter

pIndices [in]

Typ: LPCVOID

Zeiger auf Dreieckslistenindizes, die zum Sortieren von Scheitelpunkten verwendet werden sollen.

NumFaces [in]

Typ: UINT

Anzahl der Gesichter in der Dreiecksliste.

NumVertices [in]

Typ: UINT

Anzahl der Scheitelpunkte, auf die von der Dreiecksliste verwiesen wird.

Indizes32Bit [in]

Typ: BOOL

Flag, das den Indextyp angibt: TRUE , wenn Indizes 32-Bit sind (mehr als 65535 Scheitelpunkte), FALSE , wenn Indizes 16 Bit sind (65535 oder weniger Sctices).

pVertexRemap [ein, aus]

Typ: DWORD*

Zeiger auf einen Zielpuffer, der den neuen Index für jeden Scheitelpunkt enthält. Der wert, der in pVertexRemap für ein bestimmtes Element gespeichert ist, ist die Quellvertexposition in der neuen Vertexreihenfolge.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Bemerkungen

Standardmäßig verwendet ein Gitter 16-Bit-Indizes, wenn es erstellt wird, es sei denn, die Anwendung gibt etwas anderes an. Um zu überprüfen, ob ein vorhandenes Gitter 16-Bit- oder 32-Bit-Indizes verwendet, rufen Sie ID3DXBaseMesh::GetOptions auf, und suchen Sie nach dem flag D3DXMESH_32BIT.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Gitterfunktionen