Compartir a través de


estructura D3DHAL_DP2INDEXEDTRIANGLELIST (d3dhal.h)

La devolución de llamada D3dDrawPrimitives2 analiza una o varias estructuras de D3DHAL_DP2INDEXEDTRIANGLELIST cuando el miembro bCommand de la estructura D3DHAL_DP2COMMAND se establece en D3DDP2OP_INDEXEDTRIANGLELIST y se usa para representar una secuencia de triángulos no conectados mediante índices de vértice.

Sintaxis

typedef struct _D3DHAL_DP2INDEXEDTRIANGLELIST {
  WORD wV1;
  WORD wV2;
  WORD wV3;
  WORD wFlags;
} D3DHAL_DP2INDEXEDTRIANGLELIST, *LPD3DHAL_DP2INDEXEDTRIANGLELIST;

Miembros

wV1

Especifica el índice en la ubicación del búfer de vértices que contiene datos de coordenadas para el primer vértice del triángulo.

wV2

Especifica el índice de la ubicación del búfer de vértices que contiene datos de coordenadas para el segundo vértice del triángulo.

wV3

Especifica el índice de la ubicación del búfer de vértices que contiene datos de coordenadas para el tercer vértice del triángulo.

wFlags

Especifica las marcas que describen cómo el controlador debe representar el triángulo. Este miembro puede ser un OR bit a bit de los siguientes valores:

Marcar Significado
D3DTRIFLAG_EDGEENABLE1 El controlador debe representar el borde del triángulo entre wV1 y wV2 cuando el modo de relleno está D3DFILL_WIREFRAME.
D3DTRIFLAG_EDGEENABLE2 El controlador debe representar el borde del triángulo entre wV2 y wV3 cuando el modo de relleno está D3DFILL_WIREFRAME.
D3DTRIFLAG_EDGEENABLE3 El controlador debe representar el borde del triángulo entre wV3 y wV1 cuando se D3DFILL_WIREFRAME el modo de relleno.
D3DTRIFLAG_EDGEENABLETRIANGLE El controlador debe representar todos los bordes de triángulo cuando se D3DFILL_WIREFRAME el modo de relleno.

Comentarios

D3dDrawPrimitives2 debe procesar índices wPrimitiveCount * 3 desde el búfer de comandos, procesando las estructuras de D3DHAL_DP2INDEXEDTRIANGLELIST wPrimitiveCount . El valor de wPrimitiveCount se especifica en la estructura D3DHAL_DP2COMMAND.

El controlador debe procesar un total de vértices wPrimitiveCount*3 desde el búfer de vértices, tres vértices por triángulo, para el comando actual. La secuencia de triángulos representados es (wV1₀, wV2₀, wV3₀), (wV1₁, wV2₁, wV3₁), ..., (wV1n, wV2n, wV3n), donde n es igual (wPrimitiveCount- 1). El controlador debe calcular las ubicaciones de vértices según el comando actual de la siguiente manera:

  • Cuando el comando se D3DDP2OP_INDEXEDTRIANGLELIST, los índices en el 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 .

  • Cuando se D3DDP2OP_INDEXEDTRIANGLELIST2 el comando, hay una estructura D3DHAL_DP2STARTVERTEX que sigue inmediatamente al comando en el búfer de comandos. Los índices en el búfer de vértices son relativos al desplazamiento del búfer de vértices especificado por dwVertexOffset 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 D3DDP2OP_INDEXEDTRIANGLELIST y dos estructuras D3DHAL_DP2INDEXEDTRIANGLELIST. El controlador debe dibujar dos triángulos âˆ' con todos los bordes habilitados âˆ' usando los seis vértices siguientes del búfer de vértices: (v[3], v[4], v[5]), (v[0], v[1], v[2]).

Figura que muestra un búfer de comandos con un comando de D3DDP2OP_INDEXEDTRIANGLELIST y dos estructuras de D3DHAL_DP2INDEXEDTRIANGLELIST Del mismo modo, en la ilustración siguiente se muestra una parte de un búfer de comandos de ejemplo que contiene un comando de D3DDP2OP_INDEXEDTRIANGLELIST2, un desplazamiento de D3DHAL_DP2STARTVERTEX y dos estructuras D3DHAL_DP2INDEXEDTRIANGLELIST. El controlador debe procesar seis vértices del búfer de vértices, representando dos triángulos definidos por (v[5], v[6], v[7]), (v[2], v[3], v[4]). Figura que muestra un búfer con un comando D3DDP2OP_INDEXEDTRIANGLELIST2, un desplazamiento de D3DHAL_DP2STARTVERTEX y dos estructuras D3DHAL_DP2INDEXEDTRIANGLELIST

Requisitos

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

Consulte también

D3DDP2OP_INDEXEDTRIANGLELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2