Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Flexibele vertex-indelingsconstanten, of FVF-codes, worden gebruikt om de inhoud van hoekpunten te beschrijven die in één gegevensstroom worden verwerkt door de pijplijn met vaste functies.
Hoekpuntgegevensvlagmen
De volgende vlaggen beschrijven een hoekpuntindeling. Zie FVF-codes voor vaste functie (Direct3D 9)voor meer informatie over hoekpuntindelingen.
| #define | Beschrijving | Gegevensvolgorde en -type |
|---|---|---|
| D3DFVF_DIFFUSE | Hoekpuntindeling bevat een diffuse kleurcomponent. | DWORD in ARGB-volgorde. Zie D3DCOLOR_ARGB. |
| D3DFVF_NORMAL | Hoekpuntindeling bevat een normale hoekpuntvector. Deze vlag kan niet worden gebruikt met de vlag D3DFVF_XYZRHW. | float, float, float |
| D3DFVF_PSIZE | Hoekpuntindeling opgegeven in puntgrootte. Deze grootte wordt uitgedrukt in cameraruimte-eenheden voor hoekpunten die niet worden getransformeerd en verlicht, en in apparaatruimte-eenheden voor getransformeerde en verlichte hoekpunten. | drijven |
| D3DFVF_SPECULAR | Hoekpuntindeling bevat een speculair kleurenonderdeel. | DWORD in ARGB-volgorde. Zie D3DCOLOR_ARGB. |
| D3DFVF_XYZ | De hoekpuntindeling bevat de positie van een niet-vertaald hoekpunt. Deze vlag kan niet worden gebruikt met de vlag D3DFVF_XYZRHW. | float, float, float. |
| D3DFVF_XYZRHW | Hoekpuntindeling bevat de positie van een getransformeerd hoekpunt. Deze vlag kan niet worden gebruikt met de D3DFVF_XYZ of D3DFVF_NORMAL vlaggen. | float, float, float, float. |
| D3DFVF_XYZB1 via D3DFVF_XYZB5 | Hoekpuntindeling bevat positiegegevens en een bijbehorend aantal wegingswaarden (bèta) dat moet worden gebruikt voor multimatrix-hoekpuntmixbewerkingen. Op dit moment kan Direct3D worden gecombineerd met maximaal drie wegingswaarden en vier matrices. Zie Indexed Vertex Blending (Direct3D 9)voor meer informatie over het gebruik van blending matrices. | 1, 2 of 3 floats. Wanneer D3DFVF_LASTBETA_UBYTE4 wordt gebruikt, wordt het laatste mengselgewicht behandeld als een DWORD. |
| D3DFVF_XYZW | Hoekpuntindeling bevat getransformeerde en geknipte gegevens (x, y, z, w). ProcessVertices roept de clipper niet aan, maar voert gegevens in clipcoördinaten uit. Deze constante is ontworpen voor en kan alleen worden gebruikt met de programmeerbare hoekpuntpijplijn. | float, float, float, float |
Patroonvlagmen
In de volgende vlaggen worden patroonvlagmen beschreven die worden gebruikt door de pijplijn met vaste functies.
| #define | Beschrijving |
|---|---|
| D3DFVF_TEX0 - D3DFVF_TEX8 | Aantal bitmapcoördinaatsets voor dit hoekpunt. De werkelijke waarden voor deze vlaggen zijn niet opeenvolgend. |
| D3DFVF_TEXCOORDSIZEN(coordIndex) | Definieer een gegevensset met bitmappatrooncoördinaat. n geeft de dimensie van de patrooncoördinaten aan. coordIndex geeft het indexnummer van de patrooncoördinaat aan. Zie D3DFVF_TEXCOORDSIZEN en texturecoördinaten en patroonfasen. |
Maskervlagmen
In de volgende vlaggen worden maskervlagmen beschreven die worden gebruikt door de pijplijn met vaste functies.
| #define | Beschrijving |
|---|---|
| D3DFVF_POSITION_MASK | Masker voor positie-bits. |
| D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Masker waarden voor gereserveerde bits in de FVF. Niet gebruiken. |
| D3DFVF_TEXCOUNT_MASK | Maskerwaarde voor bitmapvlag-bits. |
Diverse vlaggen
In de volgende vlaggen worden verschillende vlaggen beschreven die worden gebruikt door de pijplijn met vaste functies.
| #define | Beschrijving | |
| D3DFVF_LASTBETA_D3DCOLOR | Het laatste bètaveld in de hoekpuntpositiegegevens is van het type D3DCOLOR. De gegevens in de bètavelden worden gebruikt met matrixpalet skinning om matrixindexen op te geven. | |
| D3DFVF_LASTBETA_UBYTE4 | Het laatste bètaveld in de hoekpuntpositiegegevens is van het type UBYTE4. De gegevens in de bètavelden worden gebruikt met matrixpalet skinning om matrixindexen op te geven.
Aangezien de FVF wordt gedeclareerd als: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Gewicht en MatrixIndices zijn opgenomen in bèta[5], waarbij D3DFVF_LASTBETA_UBYTE4 zegt dat het laatste DWORD in bèta[5] als type UBYTE4 moet worden geïnterpreteerd. |
|
| D3DFVF_TEXCOUNT_SHIFT | Het aantal bits waarmee een geheel getal moet worden verplaatst waarmee het aantal patrooncoördinaten voor een hoekpunt wordt aangegeven. Deze waarde kan worden gebruikt zoals hieronder wordt weergegeven.
|
Voorbeelden
In de volgende voorbeelden ziet u andere veelgebruikte vlagcombinaties.
// 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 );
Constante informatie
| Eis | Waarde |
|---|---|
| Rubriek | d3d9types.h |
| Minimaal besturingssysteem | Windows 98 |
Verwante onderwerpen