D3DHAL_DP2INDEXEDTRIANGLESTRIP estrutura (d3dhal.h)
Uma ou mais estruturas de D3DHAL_DP2INDEXEDTRIANGLESTRIP são analisadas do buffer de comando pelo D3dDrawPrimitives2 retorno de chamada 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ângulo.
Embora esse membro tenha 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 é membro da estrutura D3DHAL_DP2COMMAND.)
Observações
D3dDrawPrimitives2 deve processar índices (wPrimitiveCount+2) do buffer de comando, na verdade, processando estruturas wPrimitiveCount D3DHAL_DP2INDEXEDTRIANGLESTRIP.
As bordas de 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 está 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 D3DHAL_DP2INDEXEDTRIANGLESTRIP. O driver deve processar cinco vértices do buffer de vértice, renderizando uma faixa de três triângulos definidos 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) |
Consulte também
D3DDP2OP_INDEXEDTRIANGLESTRIP