D3DFVF
Le costanti in formato vertice flessibile o 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 Fixed Function FVF Codes (Direct3D 9).
#define | Descrizione | Ordine e tipo di dati |
---|---|---|
D3DFVF_DIFFUSE | Il formato dei vertici include un componente di colore diffuso. | DWORD nell'ordine ARGB. Vedere D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Il formato vertice include un vettore normale dei vertici. Questo flag non può essere usato con il flag D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Formato vertice specificato nella dimensione del punto. Questa dimensione è espressa in unità di spazio della fotocamera per vertici che non vengono trasformati e illuminati e in unità di spazio dispositivo per vertici trasformati e illuminati. | float |
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 vertice 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ò combinare fino a tre valori di ponderazione e quattro matrici di fusione. Per altre informazioni sull'uso delle matrici di fusione, vedere Blending vertice 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 la clipper, ma restituisce i dati nelle 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. Vedi coordinate di D3DFVF_TEXCOORDSIZEN e trame e fasi trama. |
Flag maschera
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 dei 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 matrice per specificare gli indici della 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 matrice per specificare gli indici della matrice.
Dato che il FVF è dichiarato come: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight e MatrixIndices sono inclusi nella beta[5], dove D3DFVF_LASTBETA_UBYTE4 dice di interpretare l'ultimo DWORD nella 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.
|
Esempio
Gli esempi seguenti illustrano 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