estrutura D3DHAL_DP2INDEXEDTRIANGLEFAN (d3dhal.h)

D3DHAL_DP2INDEXEDTRIANGLEFAN é analisado do buffer de comando pelo retorno de chamada D3dDrawPrimitives2 quando o membro bCommand da estrutura D3DHAL_DP2COMMAND é definido como D3DDP2OP_INDEXEDTRIANGLEFAN e é usado para renderizar uma sequência de triângulos conectados usando índices de vértice. Todos os triângulos compartilham um vértice comum.

Sintaxe

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

Membros

wV[3]

Especifica os índices no buffer de vértice do qual o driver obtém dados de coordenadas para os vértices que compõem o ventilador de triângulo.

Embora esse membro tenha apenas espaço suficiente para conter três índices, essa matriz de índices deve ser tratada como uma matriz de tamanho variável com elementos (wPrimitiveCount + 2). (wPrimitiveCount é um membro da estrutura D3DHAL_DP2COMMAND.)

Comentários

D3dDrawPrimitives2 deve processar índices (wPrimitiveCount+2) do buffer de comando, na verdade, processando estruturas wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLEFAN. O valor de wPrimitiveCount é especificado na estrutura D3DHAL_DP2COMMAND.

O driver deve processar um total de vértices (wPrimitiveCount + 2) do buffer de vértice, três vértices por triângulo. A sequência de triângulos renderizados é: (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 os triângulos têm o vértice especificado em wV[0], em comum.

Uma estrutura D3DHAL_DP2STARTVERTEX segue imediatamente o comando no buffer de comando. Os índices de buffer de vértice são relativos ao deslocamento do buffer de vértice especificado pelo membro dwVertexOffset da estrutura D3DHAL_DRAWPRIMITIVES2DATA mais o deslocamento base obtido do membro wVStart da estrutura D3DHAL_DP2STARTVERTEX.

A figura a seguir mostra uma parte de um buffer de comando de exemplo que contém um comando D3DDP2OP_INDEXEDTRIANGLEFAN, um deslocamento de D3DHAL_DP2STARTVERTEX e uma lista lógica de estruturas de D3DHAL_DP2INDEXEDTRIANGLEFAN. O driver deve processar cinco vértices do buffer de vértice, renderizando um ventilador com três triângulos definidos por (v[4], v[5], v[7]), (v[5], v[6], v[7]), (v[6], v[9], v[7]).

Figura mostrando um buffer com um comando D3DDP2OP_INDEXEDTRIANGLEFAN, um deslocamento D3DHAL_DP2STARTVERTEX e uma lista de estruturas de D3DHAL_DP2INDEXEDTRIANGLEFAN

Requisitos

Requisito Valor
Cabeçalho d3dhal.h (inclua D3dhal.h)

Confira também

D3DDP2OP_INDEXEDTRIANGLEFAN

D3DHAL_DP2COMMAND

D3DHAL_DP2STARTVERTEX

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2