Condividi tramite


Eseguire il mapping tra dichiarazioni D3D9 e D3D8

Questa tabella esegue il mapping dei membri di una dichiarazione di D3DVERTEXELEMENT9 a una dichiarazione Direct3D 8.

Utilizzo di Direct3D 9 Indice di utilizzo di 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 una dichiarazione viene usata con l'elaborazione dei vertici hardware in un driver Direct3D 7, il runtime Direct3D lo converte in FVF con le regole seguenti:

  • È consigliabile usare solo il flusso 0 (evidente dal limite MaxStreams).
  • L'ordine degli elementi dei vertici deve essere uguale all'ordine dei bit FVF.
  • Le lacune nelle coordinate della trama non sono consentite.
  • Qualsiasi elemento vertice non descritto la tabella non può essere convertito in un FVF valido per tutti i driver pre-DirectX 8 e, di conseguenza, non può essere usato su tali driver.
  • Solo D3DDECLTYPE_FLOAT2 è consentito per gli elementi dei vertici con D3DDECLUSAGE_TEXCOORD se il dispositivo non imposta né i D3DPTEXTURECAPS_PROJECTED né i D3DPTEXTURECAPS_CUBEMAP maiuscole.

dichiarazione vertice