Freigeben über


D3DHAL_DP2INDEXEDLINELIST Struktur (d3dhal.h)

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

Syntax

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

Angehörige

wV1

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

wV2

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

Bemerkungen

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

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

  • Wenn der Befehl D3DDP2OP_INDEXEDLINELIST ist, sind die Vertexpufferindizes relativ zum Vertexpufferversatz, der vom dwVertexOffset Member der D3DHAL_DRAWPRIMITIVES2DATA Struktur angegeben wird.
  • Wenn der Befehl D3DDP2OP_INDEXEDLINELIST2 ist, folgt eine D3DHAL_DP2STARTVERTEX Struktur unmittelbar darauf und steht dem D3DHAL_DP2INDEXEDLINELIST Struktur(n) im Befehlspuffer voran. Die Vertexpufferindizes sind relativ zum vertexpufferversatz, der durch dwVertexOffset- und den Vom wVStart Member der D3DHAL_DP2STARTVERTEX Struktur abgerufenen Basisoffset angegeben wird.
Die folgende Abbildung zeigt einen Teil eines Beispielbefehlspuffers mit einem D3DDP2OP_INDEXEDLINELIST Befehl und zwei D3DHAL_DP2INDEXEDLINELIST Strukturen. 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 Ähnlich zeigt die folgende Abbildung einen Teil eines Beispielbefehlspuffers mit einem D3DDP2OP_INDEXEDLINELIST2 Befehl, einem D3DHAL_DP2STARTVERTEX Offset und zwei D3DHAL_DP2INDEXEDLINELIST Strukturen. Der Treiber sollte vier Scheitelpunkte aus dem Vertexpuffer verarbeiten, wobei zwei Zeilen gerendert werden, 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 (einschließlich D3dhal.h)

Siehe auch

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2