D3DFVF
A rugalmas csúcsformázási állandók vagy FVF-kódok a rögzített függvényfolyamat által feldolgozandó egyetlen adatfolyamban lévő csúcspontok tartalmának leírására szolgálnak.
Csúcs adatjelzők
Az alábbi jelzők egy csúcsformátumot írnak le. További információ a csúcsformátumokról: Rögzített függvény FVF-kódjai (Direct3D 9).
#define | Leírás | Adatsorrend és -típus |
---|---|---|
D3DFVF_DIFFUSE | A csúcsformátum diffúz színösszetevőt tartalmaz. | DWORD ARGB sorrendben. Lásd: D3DCOLOR_ARGB. |
D3DFVF_NORMAL | A csúcsformátum egy normál csúcsvektort tartalmaz. Ez a jelölő nem használható a D3DFVF_XYZRHW jelzővel. | float, float, float |
D3DFVF_PSIZE | Pontméretben megadott csúcsformátum. Ez a méret a nem átalakított és kivilágított csúcsok kameratéregységeiben, valamint az átalakított és megvilágított csúcsok eszköztéregységeiben van kifejezve. | lebeg |
D3DFVF_SPECULAR | A csúcsformátum egy színösszetevőt tartalmaz. | DWORD ARGB sorrendben. Lásd: D3DCOLOR_ARGB. |
D3DFVF_XYZ | A csúcsformátum tartalmazza a nem formázott csúcsok pozícióját. Ez a jelölő nem használható a D3DFVF_XYZRHW jelzővel. | lebegés, lebegés, lebegés. |
D3DFVF_XYZRHW | A csúcsformátum tartalmazza az átalakított csúcsok pozícióját. Ez a jelölő nem használható D3DFVF_XYZ vagy D3DFVF_NORMAL jelzőkkel. | float, float, float, float. |
D3DFVF_XYZB1 through D3DFVF_XYZB5 | A csúcsformátum pozícióadatokat és megfelelő számú súlyozási (béta) értéket tartalmaz a multimatrix csúcspontok keverési műveleteihez. A Direct3D jelenleg legfeljebb három súlyozási értékkel és négy keverési mátrixmal kombinálható. A keverési mátrixok használatáról további információt Indexelt csúcsok keverése (Direct3D 9)című témakörben talál. | 1, 2 vagy 3 lebeg. A D3DFVF_LASTBETA_UBYTE4 használatakor a rendszer az utolsó keverési súlyt DWORD-ként kezeli. |
D3DFVF_XYZW | A csúcsformátum átalakított és levágott (x, y, z, w) adatokat tartalmaz. A ProcessVertices nem hívja meg a vágót, hanem adatokat ad ki a klip koordinátáiban. Ez az állandó a programozható csúcsfolyamathoz van kialakítva, és csak azokkal használható. | float, float, float, float |
Textúrajelzők
Az alábbi jelzők a rögzített függvényű folyamat által használt textúrajelölőket írják le.
#define | Leírás |
---|---|
D3DFVF_TEX0 – D3DFVF_TEX8 | A csúcsponthoz tartozó textúrakoordináta-készletek száma. Ezeknek a jelzőknek a tényleges értékei nem szekvenciálisak. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Textúrakoordináta-adatkészlet definiálása. n a textúra koordinátáinak dimenzióját jelzi. a coordIndex a textúra koordináta-indexszámát jelzi. Lásd: D3DFVF_TEXCOORDSIZEN és textúrakoordináta és a textúraszakaszok. |
Maszkjelölők
Az alábbi jelzők a rögzített függvényű folyamat által használt maszkjelölőket írják le.
#define | Leírás |
---|---|
D3DFVF_POSITION_MASK | Pozícióbitek maszkolása. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | A fenntartott bitek maszkolása az FVF-ben. Ne használja. |
D3DFVF_TEXCOUNT_MASK | Maszk értéke a textúrajelölő bitjeihez. |
Egyéb jelzők
Az alábbi jelzők a rögzített függvényű folyamat által használt különböző jelzőket írják le.
#define | Leírás | |
D3DFVF_LASTBETA_D3DCOLOR | A csúcspont pozícióadatainak utolsó bétamezője D3DCOLOR típusú lesz. A bétamezőkben lévő adatok mátrixpalettával vannak elszínezve a mátrixindexek megadásához. | |
D3DFVF_LASTBETA_UBYTE4 | A csúcspont pozícióadatainak utolsó bétamezője UBYTE4 típusú lesz. A bétamezőkben lévő adatok mátrixpalettával vannak elszínezve a mátrixindexek megadásához.
Mivel az FVF a következőképpen van deklarálva: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. A Weight és a MatrixIndices a bétaverzióban[5], ahol D3DFVF_LASTBETA_UBYTE4 azt mondja, hogy az utolsó DWORD-t a bétaverzióban[5] UBYTE4 típusként értelmezi. |
|
D3DFVF_TEXCOUNT_SHIFT | Azoknak a biteknek a száma, amelyekkel eltolható egy egész szám, amely azonosítja a csúcsok textúrakoordinátáinak számát. Ez az érték az alábbi módon használható.
|
Példák
Az alábbi példák más gyakori jelölőkombinációkat mutatnak be.
// Untransformed vertex for lit, untextured, Gouraud-shaded content.
dwFVF = ( D3DFVF_XYZ | D3DFVF_DIFFUSE );
// Untransformed vertex for unlit, untextured, Gouraud-shaded
// content with diffuse material color specified per vertex.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE );
// Untransformed vertex for light-map-based lighting.
dwFVF = ( D3DFVF_XYZ | D3DFVF_TEX2 );
// Transformed vertex for light-map-based lighting with shared rhw.
dwFVF = ( D3DFVF_XYZRHW | D3DFVF_TEX2 );
// Heavyweight vertex for unlit, colored content with two
// sets of texture coordinates.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE |
D3DFVF_SPECULAR | D3DFVF_TEX2 );
Állandó információ
Követelmény | Érték |
---|---|
Fejléc | d3d9types.h |
Minimális operációs rendszer | Windows 98 |
Kapcsolódó témakörök