ID3DX10Mesh::Optimize-Methode

Generiert ein neues Gitter mit neu angeordneten Flächen und Scheitelpunkten, um die Zeichnungsleistung zu optimieren.

Syntax

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

Parameter

Flaggen [in]

Typ: UINT

Gibt den Typ der auszuführenden Optimierung an. Dieser Parameter kann auf eine Kombination aus einem oder mehreren Flags von D3DXMESHOPT und D3DXMESH festgelegt werden (außer D3DXMESH_32BIT, D3DXMESH_IB_WRITEONLY und D3DXMESH_WRITEONLY).

pFaceRemap [in]

Typ: UINT*

Ein Array von UINTs, eines pro Gesicht, das das ursprüngliche Gittergesicht identifiziert, das jedem Gesicht im optimierten Gitter entspricht. Wenn der für dieses Argument angegebene Wert NULL ist, werden keine Gesichtserkennungsdaten zurückgegeben.

ppVertexRemap [out]

Typ: LPD3D10BLOB*

Adresse eines Zeigers auf eine ID3D10Blob-Schnittstelle, die ein DWORD für jeden Scheitelpunkt enthält, der angibt, wie die neuen Scheitelpunkte den alten Scheitelpunkten zugeordnet werden. Diese Neuzuordnung ist nützlich, wenn Sie externe Daten basierend auf der neuen Vertexzuordnung ändern müssen.

Rückgabewert

Typ: HRESULT

Der Rückgabewert ist einer der In Direct3D 10-Rückgabecodes aufgeführten Werte.

Bemerkungen

Diese Methode generiert ein neues Gitter. Vor dem Ausführen von Optimize muss eine Anwendung einen Adjacencypuffer generieren, indem ID3DX10Mesh::GenerateAdjacencyAndPointReps aufgerufen wird. Der Adjacency-Puffer enthält Adjacency-Daten, z. B. eine Liste von Kanten und die Gesichter, die nebeneinander liegen.

Diese Methode ist der ID3DX10Mesh::CloneMesh-Methode sehr ähnlich, mit der Ausnahme, dass sie eine Optimierung durchführen kann, während der neue Klon des Gitternetzes generiert wird. Das Ausgabegitter erbt alle Erstellungsparameter des Eingabegitters.

Anforderungen

Anforderung Wert
Header
D3DX10.h
Bibliothek
D3DX10.lib

Siehe auch

ID3DX10Mesh

D3DX-Schnittstellen