Compartir a través de


estructura D3DHAL_DP2INDEXEDTRIANGLESTRIP (d3dhal.h)

Una o varias estructuras de D3DHAL_DP2INDEXEDTRIANGLESTRIP se analizan desde el búfer de comandos mediante la devolución de llamada D3dDrawPrimitives2 cuando el miembro bCommand de la estructura D3DHAL_DP2COMMAND se establece en D3DDP2OP_INDEXEDTRIANGLESTRIP y se usan para representar franjas de triángulos conectados mediante índices de vértice.

Sintaxis

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

Miembros

wV[3]

Especifica el índice en el búfer de vértices que contiene datos de coordenadas para el primer vértice de la franja de triángulos.

Aunque este miembro solo tiene espacio suficiente para contener tres índices, esta matriz de índices debe tratarse como una matriz de tamaño variable con elementos (wPrimitiveCount + 2). (wPrimitiveCount es miembro de la estructura D3DHAL_DP2COMMAND).

Comentarios

D3dDrawPrimitives2 debe procesar (wPrimitiveCount+2) índices desde el búfer de comandos, en vigor, procesando estructuras D3DHAL_DP2INDEXEDTRIANGLESTRIP wPrimitiveCount .

Los bordes del triángulo de una franja de triángulos se representan en este orden: (wV[0], wV[1], wV[2]), (wV[1], wV[3], wV[2]), (wV[2], wV[3], wV[4]), (wV[3], wV[5], wV[4]),...

Sin embargo, para el último triángulo de la franja de triángulos, los bordes se representan en diferentes órdenes cuando wPrimitiveCount t es impary cuando es par.

  • Cuando wPrimitiveCount es un número impar, los bordes del último triángulo se representan en este orden: (wV[wPrimitiveCount - 1], wV[wPrimitiveCount], wV[wPrimitiveCount+ 1]).
  • Cuando wPrimitiveCount es un número par, los bordes del último triángulo se representan en este orden: (wV[wPrimitiveCount- 1], wV[wPrimitiveCount+1], wV[wPrimitiveCount+1], wV[wPrimitiveCount).
Una estructura de D3DHAL_DP2STARTVERTEX sigue inmediatamente el comando en el búfer de comandos. Los índices de búfer de vértices son relativos al desplazamiento del búfer de vértices especificado por el miembro dwVertexOffset de la estructura D3DHAL_DRAWPRIMITIVES2DATA más el desplazamiento base obtenido del miembro wVStart de la estructura D3DHAL_DP2STARTVERTEX.

En la ilustración siguiente se muestra una parte de un búfer de comandos de ejemplo que contiene un comando de D3DDP2OP_INDEXEDTRIANGLESTRIP, un desplazamiento D3DHAL_DP2STARTVERTEX de cero y una lista lógica de D3DHAL_DP2INDEXEDTRIANGLESTRIP estructuras. El controlador debe procesar cinco vértices del búfer de vértices, representando una franja de tres triángulos definidos por (v[1], v[3], v[6]), (v[3], v[4], v[6]), (v[6], v[4], v[5]).

Figura que muestra un búfer con un comando de D3DDP2OP_INDEXEDTRIANGLESTRIP, un desplazamiento D3DHAL_DP2STARTVERTEX de cero y una lista lógica de D3DHAL_DP2INDEXEDTRIANGLESTRIP estructuras

Requisitos

Requisito Valor
Header d3dhal.h (incluya D3dhal.h)

Consulte también

D3DDP2OP_INDEXEDTRIANGLESTRIP

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2