Mapa entre as declarações D3D9 e D3D8

Esta tabela mapeia membros de uma declaração D3DVERTEXELEMENT9 para uma declaração Direct3D 8.

Utilização do Direct3D 9 Índice de utilização do Direct3D 9 Direct3D 8
D3DDECLUSAGE_POSITION 0 D3DVSDE_POSITION
D3DDECLUSAGE_POSITION 1 D3DVSDE_POSITION2
D3DDECLUSAGE_NORMAL 0 D3DVSDE_NORMAL
D3DDECLUSAGE_NORMAL 1 D3DVSDE_NORMAL2
D3DDECLUSAGE_BLENDWEIGHT 0 D3DVSDE_BLENDWEIGHT
D3DDECLUSAGE_BLENDINDICES 0 D3DVSDE_BLENDINDICES
D3DDECLUSAGE_PSIZE 0 D3DVSDE_PSIZE
D3DDECLUSAGE_COLOR 0 D3DVSDE_DIFFUSE
D3DDECLUSAGE_COLOR 1 D3DVSDE_SPECULAR
D3DDECLUSAGE_TEXCOORD n D3DVSDE_TEXCOORDn

 

Quando uma declaração é usada com processamento de vértice de hardware em um driver Direct3D 7, o tempo de execução do Direct3D a converte em um FVF com as seguintes regras:

  • Apenas o fluxo 0 deve ser usado (evidente a partir da tampa MaxStreams).
  • A ordem dos elementos de vértice deve ser a mesma que a ordem dos bits FVF.
  • Não são permitidas lacunas nas coordenadas de textura.
  • Qualquer elemento de vértice não descrito na tabela não pode ser convertido em um FVF válido para todos os drivers pré-DirectX 8 e, portanto, não pode ser usado nesses drivers.
  • Só é permitida D3DDECLTYPE_FLOAT2 para elementos de vértice com D3DDECLUSAGE_TEXCOORD se o dispositivo não definir nenhuma das D3DPTEXTURECAPS_PROJECTED ou D3DPTEXTURECAPS_CUBEMAP tampas.

Declaração Vertex