Freigeben über


D3DHAL_DP2INDEXEDTRIANGLEFAN Struktur (d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFAN wird vom Befehlspuffer vom D3dDrawPrimitives2 Rückruf analysiert, wenn das bCommand- Element der D3DHAL_DP2COMMAND Struktur auf D3DDP2OP_INDEXEDTRIANGLEFAN festgelegt ist und zum Rendern einer Sequenz verbundener Dreiecke mithilfe von Vertexindizes verwendet wird. Alle Dreiecke teilen einen gemeinsamen Scheitelpunkt.

Syntax

typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;

Angehörige

wV[3]

Gibt die Indizes im Scheitelpunktpuffer an, aus dem der Treiber Koordinatendaten für die Scheitelpunkte abruft, die den Dreiecksventilator bilden.

Obwohl dieses Element nur genügend Platz für drei Indizes hat, sollte dieses Array von Indizes als Array mit (wPrimitiveCount + 2) -Elementen behandelt werden. (wPrimitiveCount ist ein Element der D3DHAL_DP2COMMAND Struktur.)

Bemerkungen

D3dDrawPrimitives2 sollte (wPrimitiveCount+2) Indizes aus dem Befehlspuffer verarbeiten, d. h. wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN Strukturen verarbeiten. Der Wert wPrimitiveCount wird in der D3DHAL_DP2COMMAND-Struktur angegeben.

Der Treiber sollte insgesamt (wPrimitiveCount + 2) Scheitelpunkte aus dem Vertexpuffer, drei Scheitelpunkte pro Dreieck verarbeiten. Die Abfolge der gerenderten Dreiecke lautet: (wV[1], wV[2], wV[0]), (wV[2], wV[3], wV[0]), (wV[3], wV[4], wV[0]), ..., (wV[wPrimitiveCount], wV[wPrimitiveCount]+1], wV[0]). Beachten Sie, dass alle Dreiecke den in wV[0] angegebenen Scheitelpunkt aufweisen,der gemeinsam ist.

Eine D3DHAL_DP2STARTVERTEX Struktur folgt unmittelbar dem Befehl im Befehlspuffer. Die Vertexpufferindizes sind relativ zum vertexpufferversatz, der durch den dwVertexOffset Member der D3DHAL_DRAWPRIMITIVES2DATA Struktur sowie den Basisoffset aus dem wVStart Member der D3DHAL_DP2STARTVERTEX Struktur abgerufen wird.

Die folgende Abbildung zeigt einen Teil eines Beispielbefehlspuffers mit einem D3DDP2OP_INDEXEDTRIANGLEFAN Befehl, einem D3DHAL_DP2STARTVERTEX Offset und einer logischen Liste mit D3DHAL_DP2INDEXEDTRIANGLEFAN Strukturen. Der Treiber sollte fünf Scheitelpunkte aus dem Vertexpuffer verarbeiten und einen Lüfter mit drei Dreiecken rendern, die durch (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7]) definiert sind.

Abbildung eines Puffers mit einem D3DDP2OP_INDEXEDTRIANGLEFAN-Befehl, einem D3DHAL_DP2STARTVERTEX Offset und einer Liste D3DHAL_DP2INDEXEDTRIANGLEFAN Strukturen

Anforderungen

Anforderung Wert
Header- d3dhal.h (einschließlich D3dhal.h)

Siehe auch

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2