Condividi tramite


struttura D3DHAL_DP2INDEXEDLINELIST (d3dhal.h)

D3DHAL_DP2INDEXEDLINELIST viene analizzato dal buffer dei comandi dal D3dDrawPrimitives2 callback quando il membro della struttura D3DHAL_DP2COMMAND bCommand viene impostato su D3DDP2OP_INDEXEDLINELIST e viene usato per eseguire il rendering delle righe usando indici di vertice.

Sintassi

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

Membri

wV1

Specifica l'indice nel vertex buffer, identificando il primo endpoint della riga.

wV2

Specifica l'indice nel vertex buffer, identificando il secondo endpoint della riga.

Osservazioni

D3dDrawPrimitives2 deve elaborare (wPrimitiveCount * 2) indici dal buffer dei comandi, elaborando in effetti strutture wPrimitiveCount D3DHAL_DP2INDEXEDLINELIST. Il valore di wPrimitiveCount viene specificato nella struttura D3DHAL_DP2COMMAND.

Il driver deve elaborare un totale di (wPrimitiveCount * 2) vertici dal vertex buffer, due vertici per riga. La sequenza di righe di cui viene eseguito il rendering è (wV1₀, wV2₀), (wV1₁, wV2₁), ..., (wV1n,wV2n), dove n equals (wPrimitiveCount- 1). Il driver deve interpretare gli indici del buffer dei vertici in base al comando corrente come indicato di seguito:

  • Quando il comando è D3DDP2OP_INDEXEDLINELIST, gli indici del buffer dei vertici sono relativi all'offset del buffer dei vertici specificato dal dwVertexOffset membro della struttura D3DHAL_DRAWPRIMITIVES2DATA.
  • Quando il comando è D3DDP2OP_INDEXEDLINELIST2, una struttura D3DHAL_DP2STARTVERTEX immediatamente la segue e precede le strutture D3DHAL_DP2INDEXEDLINELIST nel buffer dei comandi. Gli indici del vertex buffer sono relativi all'offset del buffer dei vertici specificato da dwVertexOffset più l'offset di base ottenuto dall'membro wVStart della struttura D3DHAL_DP2STARTVERTEX.
La figura seguente mostra una parte di un buffer dei comandi di esempio contenente un comando D3DDP2OP_INDEXEDLINELIST e due strutture D3DHAL_DP2INDEXEDLINELIST. Il driver deve disegnare due linee usando i quattro vertici seguenti dal vertex buffer: (v[0], v[4]), (v[5], v[6]). Figura che mostra un buffer dei comandi con un comando D3DDP2OP_INDEXEDLINELIST e due strutture D3DHAL_DP2INDEXEDLINELIST analogamente, nella figura seguente viene illustrata una parte di un buffer dei comandi di esempio contenente un comando D3DDP2OP_INDEXEDLINELIST2, un offset D3DHAL_DP2STARTVERTEX e due strutture D3DHAL_DP2INDEXEDLINELIST. Il driver deve elaborare quattro vertici dal buffer dei vertici, eseguendo il rendering di due righe definite da (v[3], v[7]), (v[8], v[9]). Figura che mostra un buffer dei comandi con un comando D3DDP2OP_INDEXEDLINELIST2, un offset di D3DHAL_DP2STARTVERTEX e due strutture D3DHAL_DP2INDEXEDLINELIST

Fabbisogno

Requisito Valore
intestazione d3dhal.h (include D3dhal.h)

Vedere anche

D3DDP2OP_INDEXEDLINELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2