struttura D3DHAL_DP2INDEXEDTRIANGLEFAN (d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFAN viene analizzato dal buffer dei comandi dal callback D3dDrawPrimitives2 quando il membro bCommand della struttura D3DHAL_DP2COMMAND è impostato su D3DDP2OP_INDEXEDTRIANGLEFAN e viene usato per eseguire il rendering di una sequenza di triangoli connessi usando indici dei vertici. Tutti i triangoli condividono un vertice comune.

Sintassi

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

Members

wV[3]

Specifica gli indici nel buffer dei vertici da cui il driver ottiene i dati delle coordinate per i vertici che costituiscono la ventola del triangolo.

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_DP2INDEXEDTRIANGLEFAN. Il valore di wPrimitiveCount viene specificato nella struttura D3DHAL_DP2COMMAND.

Il driver deve elaborare un totale di vertici (wPrimitiveCount + 2) dal buffer dei vertici, tre vertici per triangolo. La sequenza di triangoli di cui viene eseguito il rendering è: (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]). Si noti che tutti i triangoli hanno il vertice specificato in wV[0]in comune.

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_INDEXEDTRIANGLEFAN, un offset D3DHAL_DP2STARTVERTEX e un elenco logico di strutture D3DHAL_DP2INDEXEDTRIANGLEFAN. Il driver deve elaborare cinque vertici dal vertex buffer, eseguendo il rendering di una ventola con tre triangoli definiti da (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7]).

Figura che mostra un buffer con un comando D3DDP2OP_INDEXEDTRIANGLEFAN, un offset D3DHAL_DP2STARTVERTEX e un elenco di strutture D3DHAL_DP2INDEXEDTRIANGLEFAN

Requisiti

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

Vedi anche

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2