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]).
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3dhal.h (inclua D3dhal.h) |
Confira também
D3DDP2OP_INDEXEDTRIANGLEFAN