Partager via


structure D3DHAL_DP2INDEXEDTRIANGLEFAN (d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFAN est analysé à partir de la mémoire tampon de commande par le rappel D3dDrawPrimitives 2 lorsque le membre D3DHAL_DP2COMMAND structure bCommand est défini sur D3DDP2OP_INDEXEDTRIANGLEFAN et est utilisé pour afficher une séquence de triangles connectés à l’aide d’index de vertex. Tous les triangles partagent un sommet commun.

Syntaxe

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

Membres

wV[3]

Spécifie les index dans la mémoire tampon de vertex à partir de laquelle le pilote obtient des données de coordonnées pour les sommets constituant le ventilateur de triangle.

Bien que ce membre n’ait que suffisamment d’espace pour contenir trois index, ce tableau d’index doit être traité comme un tableau de taille variable avec (wPrimitiveCount + 2) éléments. (wPrimitiveCount est membre de la structure D3DHAL_DP2COMMAND.)

Remarques

D3dDrawPrimitives2 doit traiter les index (wPrimitiveCount+2) à partir de la mémoire tampon de commandes, en effet, traiter structures wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN. La valeur de wPrimitiveCount est spécifiée dans la structure D3DHAL_DP2COMMAND.

Le pilote doit traiter un total de sommets (wPrimitiveCount + 2) à partir de la mémoire tampon de vertex, trois sommets par triangle. La séquence de triangles rendus est la suivante : (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]). Notez que tous les triangles ont le sommet spécifié dans wV[0]en commun.

Une structure D3DHAL_DP2STARTVERTEX suit immédiatement la commande dans la mémoire tampon de commande. Les index de mémoire tampon de vertex sont relatifs au décalage de mémoire tampon de vertex spécifié par le membre dwVertexOffset de la structure D3DHAL_DRAWPRIMITIVES2DATA plus le décalage de base obtenu à partir du wVStart membre de la structure D3DHAL_DP2STARTVERTEX.

La figure suivante montre une partie d’un exemple de mémoire tampon de commande contenant une commande D3DDP2OP_INDEXEDTRIANGLEFAN, un décalage D3DHAL_DP2STARTVERTEX et une liste logique de structures D3DHAL_DP2INDEXEDTRIANGLEFAN. Le pilote doit traiter cinq sommets à partir de la mémoire tampon de vertex, rendant un ventilateur avec trois triangles définis par (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7]).

Figure montrant une mémoire tampon avec une commande D3DDP2OP_INDEXEDTRIANGLEFAN, un décalage D3DHAL_DP2STARTVERTEX et une liste de structures D3DHAL_DP2INDEXEDTRIANGLEFAN

Exigences

Exigence Valeur
d’en-tête d3dhal.h (include D3dhal.h)

Voir aussi

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2