D3DHAL_DP2INDEXEDTRIANGLEFAN Struktur (d3dhal.h)

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

Syntax

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

Member

wV[3]

Gibt die Indizes im Vertexpuffer an, aus denen der Treiber Koordinatendaten für die Scheitelpunkte des Dreiecksfächers abruft.

Obwohl dieser Member nur genügend Platz hat, um drei Indizes zu enthalten, sollte dieses Indizesarray als Array mit variablen Größen mit (wPrimitiveCount + 2) Elementen behandelt werden. (wPrimitiveCount ist ein Element der D3DHAL_DP2COMMAND-Struktur.)

Hinweise

D3dDrawPrimitives2 sollte (wPrimitiveCount+2) Indizes aus dem Befehlspuffer verarbeiten, tatsächlich und verarbeitet wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN Strukturen. Der Wert von wPrimitiveCount wird in der D3DHAL_DP2COMMAND-Struktur angegeben.

Der Treiber sollte insgesamt (wPrimitiveCount + 2) Scheitelpunkte aus dem Vertexpuffer verarbeiten, drei Scheitelpunkte pro Dreieck. Die Sequenz der gerenderten Dreiecke ist: (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 gemeinsam haben.

Eine D3DHAL_DP2STARTVERTEX-Struktur folgt unmittelbar auf den Befehl im Befehlspuffer. Die Vertexpufferindizes sind relativ zum Vertexpufferoffset, der vom dwVertexOffset-Element der D3DHAL_DRAWPRIMITIVES2DATA-Struktur angegeben wird, plus dem Basisoffset, der vom wVStart-Element der D3DHAL_DP2STARTVERTEX-Struktur abgerufen wurde.

Die folgende Abbildung zeigt einen Teil eines Beispielbefehlspuffers, der einen D3DDP2OP_INDEXEDTRIANGLEFAN-Befehl, einen D3DHAL_DP2STARTVERTEX Offset und eine logische Liste von D3DHAL_DP2INDEXEDTRIANGLEFAN-Strukturen enthält. 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 (include D3dhal.h)

Weitere Informationen

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2