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]).


Requisitos
Requisito | Valor |
---|---|
encabezado de | d3dhal.h (incluya D3dhal.h) |
Consulte también
D3DDP2OP_INDEXEDTRIANGLELIST