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 |
|
Bibliothek |
|
Siehe auch