Asignación entre declaraciones D3D9 y D3D8

Esta tabla asigna miembros de una declaración D3DVERTEXELEMENT9 a una declaración de Direct3D 8.

Uso de Direct3D 9 Índice de uso de 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

 

Cuando se usa una declaración con el procesamiento de vértices de hardware en un controlador de Direct3D 7, el tiempo de ejecución de Direct3D lo convierte en un FVF con las siguientes reglas:

  • Solo se debe usar la secuencia 0 (evidente del límite MaxStreams).
  • El orden de los elementos de vértice debe ser el mismo que el orden de los bits FVF.
  • No se permiten espacios en coordenadas de textura.
  • Ningún elemento de vértice no descrito en la tabla no se puede convertir en un FVF válido para todos los controladores anteriores a DirectX 8 y, por lo tanto, no se puede usar en esos controladores.
  • Solo se permite D3DDECLTYPE_FLOAT2 para los elementos de vértice con D3DDECLUSAGE_TEXCOORD si el dispositivo no establece ninguno de los límites de D3DPTEXTURECAPS_PROJECTED o D3DPTEXTURECAPS_CUBEMAP.

Declaración de vértices