Partilhar via


Mistura de vértice indexado (Direct3D 9)

A mistura de vértices indexada estende o suporte à mistura de vértices no Direct3D para permitir o uso de matrizes no processo de mistura. Estas matrizes são referidas usando um índice matricial. Estes índices são fornecidos numa base por vértice e referem-se a uma paleta de até 256 matrizes. Cada índice é de 8 bits e cada vértice pode ter até quatro índices, o que permite que quatro matrizes sejam misturadas por vértice. Os índices são embalados num DWORD. Como os índices são especificados por vértice, até 12 matrizes podem afetar um único triângulo, e qualquer matriz na paleta pode afetar os vértices de um draw call. Esta abordagem tem as seguintes vantagens.

  • Permite que mais matrizes afetem um único triângulo.
  • Ele permite que mais triângulos misturados sejam passados na mesma chamada de sorteio.
  • Torna a mistura de vértices independente dos índices de triângulos. Isso permite que malhas progressivas funcionem em conjunto com a mistura de vértices.

Uma desvantagem dessa abordagem é que ela não funciona com primitivos de superfície curva quando a tesselação ocorre antes do processamento do vértice.

O diagrama a seguir demonstra como quatro matrizes podem afetar um vértice. Cada vértice tem até quatro índices, de modo que quatro matrizes podem ser misturadas por vértice. O diagrama usa as matrizes indexadas em 0, 2, 5 e 6.

diagrama de mistura de vértices indexados usando 4 de 256 matrizes disponíveis

O diagrama a seguir demonstra como até 12 matrizes podem afetar um triângulo. Usando índices especificados por vértice, até 12 matrizes podem afetar o triângulo.

diagrama de mistura de vértices indexados para um triângulo usando 12 das 256 matrizes disponíveis

A equação a seguir determina o caso geral de como as matrizes afetam um vértice.

equação da mistura de vértices indexados

V modelo é a posição do vértice do espaço do modelo de entrada. Índice0..Índice3 são os índices de matriz por vértice agrupados numa DWORD. M[] é a matriz de matrizes mundiais nas quais são indexadas. b₀.. b₂ são os pesos de mistura. Vno espaço mundial é a posição do vértice no espaço mundial de saída.

Para obter mais informações sobre a mistura de vértices indexados, consulte Usando a mistura de vértices indexados (Direct3D 9).

Mistura de Geometria