fonction glTexGenfv
Contrôle la génération des coordonnées de texture.
void WINAPI glTexGenfv(
GLenum coord,
GLenum pname,
const GLfloat *params
);
-
coord
-
Coordonnée de texture. Doit être l’un des éléments suivants : GL_S, GL_T, GL_R ou GL_Q.
-
pname
-
Nom symbolique de la fonction de génération de coordonnées de texture.
-
params
-
Tableau de floats qui contient les coefficients de la fonction de génération de texture correspondante.
GLfloat zPlane[] = { 0.0f, 0.0f, 1.0f, 0.0f };
Cette fonction ne retourne pas de valeur.
Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .
Nom | Signification |
---|---|
|
coord ou pname n’était pas une valeur définie acceptée, ou pname était GL_TEXTURE_GEN_MODE et params n’était pas une valeur définie acceptée. |
|
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd. |
La fonction glTexGen sélectionne une fonction de génération de coordonnées de texture ou fournit des coefficients pour l’une des fonctions. Le paramètre coord nomme l’une des coordonnées de texture (s,t,r,q), et il doit s’agir de l’un de ces symboles : GL_S, GL_T, GL_R ou GL_Q. Le paramètre pname doit être l’une des trois constantes symboliques : GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE ou GL_EYE_PLANE. Si pname est GL_OBJECT_PLANE ou GL_EYE_PLANE, param contient des coefficients pour la fonction de génération de texture correspondante.
Si la fonction de génération de texture est GL_OBJECT_LINEAR, la fonction
! [Équation montrant la fonction glTexGen lorsque la fonction de génération de texture est GL_OBJECT_LINEAR.]
est utilisé, où g est la valeur calculée pour la coordonnée nommée dans coord ; p1, p2, p3 et p4 sont les quatre valeurs fournies dans les paramètres ; et x?, y?, z?, et w? sont les coordonnées d’objet du sommet. Vous pouvez utiliser cette fonction pour mapper le terrain en utilisant le niveau de la mer comme plan de référence (défini par p1, p2, p3 et p4). La fonction de génération de coordonnées GL_OBJECT_LINEAR calcule l’altitude d’un sommet de terrain comme distance du niveau de la mer; cette altitude est utilisée pour indexer l’image de texture pour mapper la neige blanche sur les pics et l’herbe verte sur les contreforts, par exemple.
Si la fonction de génération de texture est GL_EYE_LINEAR, la fonction
! [Équation montrant la fonction glTexGen lorsque la fonction de génération de texture est GL_EYE_LINEAR.]
est utilisé, où
et x?, y?, z?, et w? sont les coordonnées oculaires du vertex, p1, p2, p3 et p4 sont les valeurs fournies dans param, et M est la matrice modelview lorsque vous appelez glTexGen. Si M est mal conditionné ou singulier, les coordonnées de texture générées par la fonction résultante peuvent être inexactes ou non définies.
Notez que les valeurs de param définissent un plan de référence en coordonnées oculaires. La matrice modelview qui leur est appliquée peut ne pas être la même en vigueur lorsque les sommets de polygones sont transformés. Cette fonction établit un champ de coordonnées de texture qui peut produire des lignes de contour dynamiques sur des objets en mouvement.
Si pname est GL_SPHERE_MAP et que coord est GL_S ou GL_T, les coordonnées de texture s et t sont générées comme suit. Soit u le vecteur d’unité pointant de l’origine vers le sommet du polygone (en coordonnées oculaires). Soit n la normale actuelle, après transformation en coordonnées oculaires. Que f = (fx ( ) fy ( ) fz)T soit le vecteur de réflexion tel que
Enfin, laissez
Ensuite, les valeurs affectées aux coordonnées de texture i et t sont
Vous pouvez activer ou désactiver une fonction de génération de coordonnées de texture en utilisant glEnable ou glDisable avec l’un des noms symboliques de coordonnées de texture (GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R ou GL_TEXTURE_GEN_Q) comme argument. Lorsque cette fonction est activée, la coordonnée de texture spécifiée est calculée en fonction de la fonction de génération associée à cette coordonnée. Lorsque cette fonction est désactivée, les sommets suivants prennent la coordonnée de texture spécifiée de l’ensemble actuel de coordonnées de texture. Initialement, toutes les fonctions de génération de texture sont définies sur GL_EYE_LINEAR et sont désactivées. Les deux équations de plan sont (1,0,0,0); les deux équations de plan t sont (0,1,0,0); et toutes les équations de plan r et q sont (0,0,0,0).
Les fonctions suivantes récupèrent des informations relatives à glTexGen :
glGetTexGen
glIsEnabled avec argument GL_TEXTURE_GEN_S
glIsEnabled avec argument GL_TEXTURE_GEN_T
glIsEnabled avec argument GL_TEXTURE_GEN_R
glIsEnabled avec argument GL_TEXTURE_GEN_Q
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows 2000 Server [applications de bureau uniquement] |
En-tête |
|
Bibliothèque |
|
DLL |
|