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 el D3dDrawPrimitives2 devolución de llamada cuando el miembro de D3DHAL_DP2COMMAND estructura bCommand está establecido en D3DDP2OP_INDEXEDTRIANGLESTRIP y se usa para representar franjas de triángulos conectados mediante índices de vértices.

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 (wPrimitiveCount + 2) elementos. (wPrimitiveCount es miembro de la estructura de D3DHAL_DP2COMMAND).

Observaciones

los índices D3dDrawPrimitives2 deben procesar (wPrimitiveCount+2) desde el búfer de comandos, en efecto, procesando estructuras de 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 wPrimitiveCountt es impar y 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).
Una estructura 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 de 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 estructuras de D3DHAL_DP2INDEXEDTRIANGLESTRIP. 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]).

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

Requisitos

Requisito Valor
encabezado de d3dhal.h (incluya D3dhal.h)

Consulte también

D3DDP2OP_INDEXEDTRIANGLESTRIP

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2