D3DFVF
Les constantes de format de vertex flexibles, ou codes FVF, sont utilisées pour décrire le contenu des sommets entrelacés dans un seul flux de données qui sera traité par le pipeline à fonction fixe.
Indicateurs de données de vertex
Les indicateurs suivants décrivent un format de vertex. Pour plus d’informations sur les formats de vertex, consultez Fixed Function FVF Codes (Direct3D 9).
#define | Description | Ordre et type des données |
---|---|---|
D3DFVF_DIFFUSE | Le format de vertex inclut un composant de couleur diffuse. | DWORD dans l’ordre ARGB. Voir D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Le format de vertex inclut un vecteur de vertex normal. Cet indicateur ne peut pas être utilisé avec l’indicateur D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Format de vertex spécifié dans la taille du point. Cette taille est exprimée en unités d’espace de caméra pour les sommets qui ne sont pas transformés et éclairés, et dans les unités d’espace d’appareil pour les sommets transformés et éclairés. | float |
D3DFVF_SPECULAR | Le format de vertex comprend un composant de couleur spéculaire. | DWORD dans l’ordre ARGB. Voir D3DCOLOR_ARGB. |
D3DFVF_XYZ | Le format de vertex inclut la position d’un sommet non transformé. Cet indicateur ne peut pas être utilisé avec l’indicateur D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | Le format de vertex inclut la position d’un sommet transformé. Cet indicateur ne peut pas être utilisé avec les indicateurs D3DFVF_XYZ ou D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 via D3DFVF_XYZB5 | Le format de vertex contient des données de position et un nombre correspondant de valeurs de pondération (bêta) à utiliser pour les opérations de fusion de vertex multimatrix. Actuellement, Direct3D peut se mélanger avec jusqu’à trois valeurs de pondération et quatre matrices de fusion. Pour plus d’informations sur l’utilisation de matrices de fusion, consultez Fusion de sommets indexés (Direct3D 9). | 1, 2 ou 3 flotteurs. Lorsque D3DFVF_LASTBETA_UBYTE4 est utilisé, le dernier poids de fusion est traité comme un DWORD. |
D3DFVF_XYZW | Le format de vertex contient des données transformées et clippées (x, y, z, w). ProcessVertices n’appelle pas le clipper, au lieu de sortir les données dans les coordonnées de clip. Cette constante est conçue pour, et ne peut être utilisée qu’avec, le pipeline de vertex programmable. | float, float, float, float |
Indicateurs de texture
Les indicateurs suivants décrivent les indicateurs de texture utilisés par le pipeline à fonction fixe.
#define | Description |
---|---|
D3DFVF_TEX0 - D3DFVF_TEX8 | Nombre d’ensembles de coordonnées de texture pour ce vertex. Les valeurs réelles de ces indicateurs ne sont pas séquentielles. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Définissez un jeu de données de coordonnées de texture. n indique la dimension des coordonnées de texture. coordIndex indique le numéro d’index de coordonnées de texture. Consultez coordonnées D3DFVF_TEXCOORDSIZEN et texture et Étapes de texture. |
Indicateurs de masque
Les indicateurs suivants décrivent les indicateurs de masque utilisés par le pipeline à fonction fixe.
#define | Description |
---|---|
D3DFVF_POSITION_MASK | Masque pour les bits de position. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Valeurs de masque pour les bits réservés dans le FVF. Ne pas utiliser. |
D3DFVF_TEXCOUNT_MASK | Valeur de masque pour les bits d’indicateur de texture. |
Indicateurs divers
Les indicateurs suivants décrivent une variété d’indicateurs utilisés par le pipeline à fonction fixe.
#define | Description | |
D3DFVF_LASTBETA_D3DCOLOR | Le dernier champ bêta dans les données de position de vertex sera de type D3DCOLOR. Les données des champs bêta sont utilisées avec l’apparence de la palette de matrices pour spécifier des index de matrice. | |
D3DFVF_LASTBETA_UBYTE4 | Le dernier champ bêta dans les données de position de vertex sera de type UBYTE4. Les données des champs bêta sont utilisées avec l’apparence de la palette de matrices pour spécifier des index de matrice.
Étant donné que le FVF est déclaré comme suit : D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight et MatrixIndices sont inclus dans beta[5], où D3DFVF_LASTBETA_UBYTE4 dit d’interpréter le dernier DWORD de la version bêta[5] comme type UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | Nombre de bits par lesquels déplacer une valeur entière qui identifie le nombre de coordonnées de texture pour un sommet. Cette valeur peut être utilisée comme indiqué ci-dessous.
|
Exemples
Les exemples suivants illustrent d’autres combinaisons d’indicateurs courantes.
// 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 );
Informations constantes
Condition requise | Valeur |
---|---|
En-tête | d3d9types.h |
Système d’exploitation minimal | Windows 98 |
Rubriques connexes