estrutura D3DHAL_DP2INDEXEDTRIANGLESTRIP (d3dhal.h)
Uma ou mais estruturas D3DHAL_DP2INDEXEDTRIANGLESTRIP são analisadas do buffer de comando pelo retorno de chamada D3dDrawPrimitives2 quando o membro bCommand da estrutura D3DHAL_DP2COMMAND é definido como D3DDP2OP_INDEXEDTRIANGLESTRIP e são usados para renderizar faixas de triângulos conectados usando índices de vértice.
Sintaxe
typedef struct _D3DHAL_DP2INDEXEDTRIANGLESTRIP {
WORD wV[3];
} D3DHAL_DP2INDEXEDTRIANGLESTRIP, *LPD3DHAL_DP2INDEXEDTRIANGLESTRIP;
Membros
wV[3]
Especifica o índice no buffer de vértice que contém dados de coordenadas para o primeiro vértice da faixa de triângulos.
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_DP2INDEXEDTRIANGLESTRIP.
As bordas do triângulo em uma faixa de triângulo são renderizadas nesta ordem: (wV[0], wV[1], wV[2]), (wV[1], wV[3], wV[2]), (wV[2], wV[3], wV[4]), (wV[3], wV[5], wV[4]),...
No entanto, para o último triângulo na faixa de triângulo, as bordas são renderizadas em ordens diferentes quando wPrimitiveCountt é ímpar e quando é uniforme.
- Quando wPrimitiveCount é um número ímpar, as bordas do último triângulo são renderizadas nesta ordem: (wV[wPrimitiveCount - 1], wV[wPrimitiveCount], wV[wPrimitiveCount+ 1]).
- Quando wPrimitiveCount é um número par, as bordas do último triângulo são renderizadas nesta ordem: (wV[wPrimitiveCount- 1], wV[wPrimitiveCount+1], wV[wPrimitiveCount).
A figura a seguir mostra uma parte de um buffer de comando de exemplo contendo um comando D3DDP2OP_INDEXEDTRIANGLESTRIP, um deslocamento D3DHAL_DP2STARTVERTEX de zero e uma lista lógica de estruturas de D3DHAL_DP2INDEXEDTRIANGLESTRIP. O driver deve processar cinco vértices do buffer de vértice, renderizando uma faixa de três triângulos definida por (v[1], v[3], v[6]), (v[3], v[4], v[6]), (v[6], v[4], v[5]).
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3dhal.h (inclua D3dhal.h) |
Confira também
D3DDP2OP_INDEXEDTRIANGLESTRIP