Compartir a través de


estructura D3DHAL_DP2INDEXEDTRIANGLEFAN (d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFAN se analiza 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_INDEXEDTRIANGLEFAN y se usa para representar una secuencia de triángulos conectados mediante índices de vértice. Todos los triángulos comparten un vértice común.

Sintaxis

typedef struct _D3DHAL_DP2INDEXEDTRIANGLEFAN {
  WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLEFAN, *LPD3DHAL_DP2INDEXEDTRIANGLEFAN;

Miembros

wV[3]

Especifica los índices en el búfer de vértices del que el controlador obtiene los datos de coordenadas de los vértices que componen el ventilador del triángulo.

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 de D3DHAL_DP2INDEXEDTRIANGLEFAN wPrimitiveCount . El valor de wPrimitiveCount se especifica en la estructura D3DHAL_DP2COMMAND.

El controlador debe procesar un total de vértices (wPrimitiveCount + 2) desde el búfer de vértices, tres vértices por triángulo. La secuencia de triángulos representados es: (wV[1], wV[2], wV[0]), (wV[2], wV[3], wV[0]), (wV[3], wV[4], wV[0]), ..., (wV[wPrimitiveCount], wV[wPrimitiveCount]+1], wV[0]). Observe que todos los triángulos tienen el vértice especificado en wV[0]en común.

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_INDEXEDTRIANGLEFAN, un desplazamiento de D3DHAL_DP2STARTVERTEX y una lista lógica de D3DHAL_DP2INDEXEDTRIANGLEFAN estructuras. El controlador debe procesar cinco vértices del búfer de vértices, representando un ventilador con tres triángulos definidos por (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7]).

Figura que muestra un búfer con un comando D3DDP2OP_INDEXEDTRIANGLEFAN, un desplazamiento de D3DHAL_DP2STARTVERTEX y una lista de estructuras de D3DHAL_DP2INDEXEDTRIANGLEFAN

Requisitos

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

Consulte también

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2