ID3DXBaseMesh::GenerateAdjacency-Methode

Generieren Sie eine Liste der Gitterränder sowie eine Liste von Gesichtern, die sich die einzelnen Kanten teilen.

Syntax

HRESULT GenerateAdjacency(
  [in] FLOAT Epsilon,
  [in] DWORD *pAdjacency
);

Parameter

Epsilon [in]

Typ: FLOAT

Gibt an, dass Scheitelpunkte, die sich in der Position um kleiner als Epsilon unterscheiden, als zufällig behandelt werden sollen.

pAdjacency [in]

Typ: DWORD*

Zeiger auf ein Array von drei DWORDs pro Gesicht, die mit den Indizes benachbarter Gesichter gefüllt werden sollen. Die Anzahl der Bytes in diesem Array muss mindestens 3 * ID3DXBaseMesh::GetNumFaces * sizeof(DWORD) betragen.

Rückgabewert

Typ: HRESULT

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

Bemerkungen

Nachdem eine Anwendung Adjacency-Informationen für ein Gitter generiert hat, können die Gitterdaten für eine bessere Zeichnungsleistung optimiert werden.

Die Reihenfolge der Einträge im Adjacencypuffer wird durch die Reihenfolge der Vertexindizes im Indexpuffer bestimmt. Das angrenzende Dreieck 0 entspricht immer dem Rand zwischen den Indizes der Ecken 0 und 1. Das angrenzende Dreieck 1 entspricht immer dem Rand zwischen den Indizes der Ecken 1 und 2, während das angrenzende Dreieck 2 dem Rand zwischen den Indizes der Ecken 2 und 0 entspricht.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXBaseMesh

ID3DXMesh::Optimize

ID3DXMesh::OptimizeInplace