D3DFVF
Le costanti in formato vertice flessibile o i codici FVF vengono usate per descrivere il contenuto dei vertici interleaved in un singolo flusso di dati che verrà elaborato dalla pipeline a funzione fissa.
Flag di dati dei vertici
I flag seguenti descrivono un formato di vertice. Per informazioni sui formati dei vertici, vedere codici FVF a funzione fissa (Direct3D 9).
#define | Descrizione | Ordine e tipo di dati |
---|---|---|
D3DFVF_DIFFUSE | Il formato vertice include un componente colore diffuso. | DWORD nell'ordine ARGB. Vedere D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Il formato vertice include un vettore normale vertice. Questo flag non può essere usato con il flag D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Formato vertice specificato in dimensioni punto. Questa dimensione è espressa in unità di spazio della fotocamera per vertici non trasformati e illuminati e in unità di spazio del dispositivo per vertici trasformati e illuminati. | galleggiare |
D3DFVF_SPECULAR | Il formato vertice include un componente di colore speculare. | DWORD nell'ordine ARGB. Vedere D3DCOLOR_ARGB. |
D3DFVF_XYZ | Il formato vertice include la posizione di un vertice non trasformato. Questo flag non può essere usato con il flag D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | Il formato dei vertici include la posizione di un vertice trasformato. Questo flag non può essere usato con i flag D3DFVF_XYZ o D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 tramite D3DFVF_XYZB5 | Il formato vertice contiene i dati di posizione e un numero corrispondente di valori di ponderazione (beta) da usare per le operazioni di fusione dei vertici multimatrix. Attualmente Direct3D può fondersi con un massimo di tre valori di ponderazione e quattro matrici di fusione. Per altre informazioni sull'uso delle matrici di fusione, vedere Vertex Blending indicizzato (Direct3D 9). | 1, 2 o 3 float. Quando si utilizza D3DFVF_LASTBETA_UBYTE4, l'ultimo peso di fusione viene considerato come DWORD. |
D3DFVF_XYZW | Il formato vertice contiene dati trasformati e ritagliati (x, y, z, w). ProcessVertices non richiama il clipper, ma restituisce dati in coordinate clip. Questa costante è progettata per e può essere usata solo con la pipeline dei vertici programmabile. | float, float, float, float |
Flag trama
I flag seguenti descrivono i flag di trama usati dalla pipeline a funzione fissa.
#define | Descrizione |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | Numero di set di coordinate della trama per questo vertice. I valori effettivi per questi flag non sono sequenziali. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Definire un set di dati delle coordinate della trama. n indica la dimensione delle coordinate della trama. coordIndex indica il numero di indice della coordinata della trama. Vedere D3DFVF_TEXCOORDSIZEN e Coordinate trama e Fasi trama. |
Flag mask
I flag seguenti descrivono i flag mask usati dalla pipeline a funzione fissa.
#define | Descrizione |
---|---|
D3DFVF_POSITION_MASK | Maschera per i bit di posizione. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Mascherare i valori per i bit riservati in FVF. Non usare. |
D3DFVF_TEXCOUNT_MASK | Valore della maschera per i bit del flag di trama. |
Bandiere varie
I flag seguenti descrivono un'ampia gamma di flag usati dalla pipeline a funzione fissa.
#define | Descrizione | |
D3DFVF_LASTBETA_D3DCOLOR | L'ultimo campo beta nei dati della posizione dei vertici sarà di tipo D3DCOLOR. I dati nei campi beta vengono usati con l'interfaccia della tavolozza delle matrici per specificare gli indici matrice. | |
D3DFVF_LASTBETA_UBYTE4 | L'ultimo campo beta nei dati della posizione dei vertici sarà di tipo UBYTE4. I dati nei campi beta vengono usati con l'interfaccia della tavolozza delle matrici per specificare gli indici matrice.
Dato che il FVF è dichiarato come: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight e MatrixIndices sono inclusi nella versione beta[5], dove D3DFVF_LASTBETA_UBYTE4 indica di interpretare l'ultimo DWORD nella versione beta[5] come tipo UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | Numero di bit in base al quale spostare un valore intero che identifica il numero di coordinate di trama per un vertice. Questo valore può essere usato come illustrato di seguito.
|
Esempi
Negli esempi seguenti vengono mostrate altre combinazioni di flag comuni.
// 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 );
Informazioni costanti
Requisito | Valore |
---|---|
Intestazione | d3d9types.h |
Sistema operativo minimo | Windows 98 |
Argomenti correlati