Freigeben über


D3DHAL_DP2INDEXEDLINELIST Struktur (d3dhal.h)

D3DHAL_DP2INDEXEDLINELIST wird vom D3dDrawPrimitives2-Rückruf aus dem Befehlspuffer analysiert, wenn der bCommand-Member der D3DHAL_DP2COMMAND-Struktur auf D3DDP2OP_INDEXEDLINELIST festgelegt ist, und zum Rendern der Zeilen mithilfe von Vertexindizes verwendet wird.

Syntax

typedef struct _D3DHAL_DP2INDEXEDLINELIST {
  WORD wV1;
  WORD wV2;
} D3DHAL_DP2INDEXEDLINELIST, *LPD3DHAL_DP2INDEXEDLINELIST;

Member

wV1

Gibt den Index im Vertexpuffer an und identifiziert den ersten Endpunkt der Zeile.

wV2

Gibt den Index im Vertexpuffer an und identifiziert den zweiten Endpunkt der Zeile.

Hinweise

D3dDrawPrimitives2 sollte Indizes (wPrimitiveCount * 2) aus dem Befehlspuffer verarbeiten, wobei wPrimitiveCount D3DHAL_DP2INDEXEDLINELIST Strukturen verarbeitet werden. Der Wert von wPrimitiveCount wird in der D3DHAL_DP2COMMAND-Struktur angegeben.

Der Treiber sollte insgesamt (wPrimitiveCount * 2) Scheitelpunkte aus dem Vertexpuffer verarbeiten, zwei Scheitelpunkte pro Zeile. Die Sequenz der gerenderten Linien ist (wV1₀, wV2₀), (wV1₁, wV2₁), ..., (wV1n,wV2n), wobei n gleich ist (wPrimitiveCount- 1). Der Treiber sollte die Vertexpufferindizes basierend auf dem aktuellen Befehl wie folgt interpretieren:

  • Wenn der Befehl D3DDP2OP_INDEXEDLINELIST ist, sind die Vertexpufferindizes relativ zum Vertexpufferoffset, der vom dwVertexOffset-Element der D3DHAL_DRAWPRIMITIVES2DATA-Struktur angegeben wird.
  • Wenn der Befehl D3DDP2OP_INDEXEDLINELIST2 ist, folgt ihm sofort eine D3DHAL_DP2STARTVERTEX-Struktur und geht der D3DHAL_DP2INDEXEDLINELIST-Struktur(en) im Befehlspuffer voran. Die Vertexpufferindizes sind relativ zum Vertexpufferoffset, der von dwVertexOffset 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_INDEXEDLINELIST-Befehl und zwei D3DHAL_DP2INDEXEDLINELIST-Strukturen enthält. Der Treiber sollte zwei Linien mit den folgenden vier Scheitelpunkten aus dem Vertexpuffer zeichnen: (v[0], v[4]), (v[5], v[6]). Abbildung eines Befehlspuffers mit einem D3DDP2OP_INDEXEDLINELIST-Befehl und zwei D3DHAL_DP2INDEXEDLINELIST-Strukturen Ebenso zeigt die folgende Abbildung einen Teil eines Beispielbefehlspuffers, der einen D3DDP2OP_INDEXEDLINELIST2-Befehl, einen D3DHAL_DP2STARTVERTEX Offset und zwei D3DHAL_DP2INDEXEDLINELIST-Strukturen enthält. Der Treiber sollte vier Scheitelpunkte aus dem Vertexpuffer verarbeiten und dabei zwei Zeilen rendern, die durch (v[3], v[7]), (v[8], v[9]) definiert sind. Abbildung eines Befehlspuffers mit einem D3DDP2OP_INDEXEDLINELIST2-Befehl, einem D3DHAL_DP2STARTVERTEX Offset und zwei D3DHAL_DP2INDEXEDLINELIST-Strukturen

Anforderungen

Anforderung Wert
Header d3dhal.h (include D3dhal.h)

Weitere Informationen

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2