D3DFVF
Flexibla hörnformatkonstanter, eller FVF-koder, används för att beskriva innehållet i hörn som interfolieras i en enda dataström som bearbetas av pipelinen med fast funktion.
Hörndataflaggor
Följande flaggor beskriver ett hörnformat. Information om hörnformat finns i FVF-koder för fast funktion (Direct3D 9).
#define | Beskrivning | Dataordning och typ |
---|---|---|
D3DFVF_DIFFUSE | Hörnformatet innehåller en diffus färgkomponent. | DWORD i ARGB-ordning. Se D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Hörnformatet innehåller en hörnnormal vektor. Den här flaggan kan inte användas med flaggan D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Hörnformat som anges i punktstorlek. Den här storleken uttrycks i kamerautrymmesenheter för hörn som inte transformeras och tänds, och i enheter med enhetsutrymme för transformerade och upplysta hörn. | flyta |
D3DFVF_SPECULAR | Hörnformatet innehåller en spektrulär färgkomponent. | DWORD i ARGB-ordning. Se D3DCOLOR_ARGB. |
D3DFVF_XYZ | Hörnformatet innehåller positionen för ett otransformerat hörn. Den här flaggan kan inte användas med flaggan D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | Hörnformatet innehåller positionen för ett transformerat hörn. Den här flaggan kan inte användas med flaggorna D3DFVF_XYZ eller D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 genom D3DFVF_XYZB5 | Hörnformatet innehåller positionsdata och ett motsvarande antal viktningsvärden (beta) som ska användas för blandningsåtgärder för multimatrixhörn. För närvarande kan Direct3D blandas med upp till tre viktningsvärden och fyra blandningsmatriser. Mer information om hur du använder blandningsmatriser finns i Indexed Vertex Blending (Direct3D 9). | 1, 2 eller 3 flyter. När D3DFVF_LASTBETA_UBYTE4 används behandlas den sista blandningsvikten som ett DWORD. |
D3DFVF_XYZW | Hörnformatet innehåller transformerade och klippta data (x, y, z, w). ProcessVertices anropar inte Urklipp, utan matar ut data i clip-koordinater. Den här konstanten är utformad för och kan endast användas med den programmerbara hörnpipelinen. | float, float, float, float |
Texturflaggor
Följande flaggor beskriver texturflaggor som används av pipelinen för fast funktion.
#define | Beskrivning |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | Antal strukturkoordinatuppsättningar för det här hörnet. De faktiska värdena för dessa flaggor är inte sekventiella. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Definiera en strukturkoordinatdatauppsättning. n anger dimensionen för strukturkoordinaterna. coordIndex anger strukturkoordinatindexnummer. Se D3DFVF_TEXCOORDSIZEN- och Strukturkoordinater och Struktursteg. |
Maskera flaggor
Följande flaggor beskriver maskflaggor som används av pipelinen för fast funktion.
#define | Beskrivning |
---|---|
D3DFVF_POSITION_MASK | Maskera för positionsbitar. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Maskera värden för reserverade bitar i FVF. Använd inte. |
D3DFVF_TEXCOUNT_MASK | Maskeringsvärde för texturflagga bitar. |
Diverse flaggor
Följande flaggor beskriver en mängd olika flaggor som används av pipelinen för fast funktion.
#define | Beskrivning | |
D3DFVF_LASTBETA_D3DCOLOR | Det sista betafältet i hörnpositionsdata kommer att vara av typen D3DCOLOR. Data i betafälten används med matrispalettens skalning för att ange matrisindex. | |
D3DFVF_LASTBETA_UBYTE4 | Det sista betafältet i hörnpositionsdata kommer att vara av typen UBYTE4. Data i betafälten används med matrispalettens skalning för att ange matrisindex.
Med tanke på att FVF deklareras som: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight och MatrixIndices ingår i beta[5], där D3DFVF_LASTBETA_UBYTE4 säger att tolka det sista DWORD i beta[5] som typ UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | Antalet bitar som ett heltalsvärde ska flyttas med som identifierar antalet strukturkoordinater för ett hörn. Det här värdet kan användas enligt nedan.
|
Exempel
I följande exempel visas andra vanliga flaggkombinationer.
// 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 );
Konstant information
Krav | Värde |
---|---|
Rubrik | d3d9types.h |
Lägsta operativsystem | Windows 98 |
Relaterade ämnen