struttura D3DHAL_DP2INDEXEDTRIANGLESTRIP (d3dhal.h)

Una o più strutture D3DHAL_DP2INDEXEDTRIANGLESTRIP vengono analizzate dal buffer dei comandi dal callback D3dDrawPrimitives2 quando il membro bCommand della struttura D3DHAL_DP2COMMAND è impostato su D3DDP2OP_INDEXEDTRIANGLESTRIP e vengono usati per eseguire il rendering di strisce di triangoli connessi usando indici dei vertici.

Sintassi

typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;

Members

wV[3]

Specifica l'indice nel buffer dei vertici contenente i dati delle coordinate per il primo vertice della striscia di triangoli.

Anche se questo membro dispone solo di spazio sufficiente per contenere tre indici, questa matrice di indici deve essere considerata come una matrice di dimensioni variabili con elementi (wPrimitiveCount + 2). WPrimitiveCount è un membro della struttura D3DHAL_DP2COMMAND.

Commenti

D3dDrawPrimitives2 deve elaborare gli indici (wPrimitiveCount+2) dal buffer dei comandi, in effetti, elaborando le strutture wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLESTRIP.

Il rendering dei bordi del triangolo in una striscia di triangoli viene eseguito in questo ordine: (wV[0], wV[1], wV[2]), (wV[1], wV[3], wV[2]), (wV[2], wV[3], wV[4]), (wV[3], wV[5]) ,...

Per l'ultimo triangolo nella striscia di triangoli, tuttavia, i bordi vengono visualizzati in ordini diversi quando wPrimitiveCountt è dispari e quando è pari.

  • Quando wPrimitiveCount è un numero dispari, il rendering dei bordi dell'ultimo triangolo viene eseguito in questo ordine: (wV[wPrimitiveCount - 1], wV[wPrimitiveCount], wV[wPrimitiveCount+ 1]).
  • Quando wPrimitiveCount è un numero pari, il rendering dei bordi dell'ultimo triangolo viene eseguito in questo ordine: (wV[wPrimitiveCount- 1], wV[wPrimitiveCount+1], wV[wPrimitiveCount).
Una struttura D3DHAL_DP2STARTVERTEX segue immediatamente il comando nel buffer dei comandi. Gli indici del buffer dei vertici sono relativi all'offset del buffer dei vertici specificato dal membro dwVertexOffset della struttura D3DHAL_DRAWPRIMITIVES2DATA più l'offset di base ottenuto dal membro wVStart della struttura D3DHAL_DP2STARTVERTEX.

Nella figura seguente viene illustrata una parte di un buffer di comandi di esempio contenente un comando D3DDP2OP_INDEXEDTRIANGLESTRIP, un offset D3DHAL_DP2STARTVERTEX pari a zero e un elenco logico di strutture D3DHAL_DP2INDEXEDTRIANGLESTRIP. Il driver deve elaborare cinque vertici dal buffer dei vertici, eseguendo il rendering di una striscia di tre triangoli definiti da (v[1], v[3], v[6]), (v[3], v[4], v[6]), (v[6], v[4], v[5]).

Figura che mostra un buffer con un comando D3DDP2OP_INDEXEDTRIANGLESTRIP, un offset D3DHAL_DP2STARTVERTEX pari a zero e un elenco logico di strutture D3DHAL_DP2INDEXEDTRIANGLESTRIP

Requisiti

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

Vedi anche

D3DDP2OP_INDEXEDTRIANGLESTRIP

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2