Compartir a través de


estructura D3DHAL_DP2INDEXEDTRIANGLELIST (d3dhal.h)

Una o varias estructuras de D3DHAL_DP2INDEXEDTRIANGLELIST se analizan desde el búfer de comandos mediante el D3dDrawPrimitives2 devolución de llamada cuando el miembro de D3DHAL_DP2COMMANDestructura bCommand está establecido en D3DDP2OP_INDEXEDTRIANGLELIST y se usa para representar una secuencia de triángulos no conectados mediante índices de vértices.

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 para la ubicación del búfer de vértices que contiene los datos de coordenadas del segundo vértice del triángulo.

wV3

Especifica el índice para 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:

marca de significado
D3DTRIFLAG_EDGEENABLE1 El controlador debe representar el borde del triángulo entre wV1 y wV2 cuando se D3DFILL_WIREFRAME el modo de relleno.
D3DTRIFLAG_EDGEENABLE2 El controlador debe representar el borde del triángulo entre wV2 y wV3 cuando se D3DFILL_WIREFRAME el modo de relleno.
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.

Observaciones

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

El controlador debe procesar un total de wPrimitiveCount*3 vértices del 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 se D3DDP2OP_INDEXEDTRIANGLELIST el comando, 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 de 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 âˆ' utilizando 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 D3DDP2OP_INDEXEDTRIANGLELIST y dos estructuras de D3DHAL_DP2INDEXEDTRIANGLELIST De forma similar, 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 D3DHAL_DP2STARTVERTEX y dos estructuras de 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 de D3DHAL_DP2INDEXEDTRIANGLELIST

Requisitos

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

Consulte también

D3DDP2OP_INDEXEDTRIANGLELIST

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2