Zuordnung zwischen D3D9- und D3D8-Deklarationen
Diese Tabelle ordnet Member einer D3DVERTEXELEMENT9-Deklaration einer Direct3D 8-Deklaration zu.
Verwendung von Direct3D 9 | Direct3D 9-Nutzungsindex | 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 |
Wenn eine Deklaration mit der Hardwarevertexverarbeitung auf einem Direct3D 7-Treiber verwendet wird, konvertiert die Direct3D-Runtime sie mit den folgenden Regeln in eine FVF:
- Es sollte nur Stream 0 verwendet werden (erkennbar an der MaxStreams-Obergrenze).
- Die Reihenfolge der Vertexelemente sollte mit der Reihenfolge der FVF-Bits identisch sein.
- Lücken in Texturkoordinaten sind nicht zulässig.
- Alle Vertexelemente, die die Tabelle nicht beschrieben haben, können nicht in eine gültige FVF für alle Treiber vor DirectX 8 konvertiert werden und daher nicht für diese Treiber verwendet werden.
- Nur D3DDECLTYPE_FLOAT2 ist für Vertexelemente mit D3DDECLUSAGE_TEXCOORD zulässig, wenn das Gerät keine der D3DPTEXTURECAPS_PROJECTED oder D3DPTEXTURECAPS_CUBEMAP feststellt.
Zugehörige Themen