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.
Argomenti correlati