fonction glTexGeni
Contrôle la génération des coordonnées de texture.
void WINAPI glTexGeni(
GLenum coord,
GLenum pname,
GLint param
);
-
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.
-
param
-
Paramètre de génération de texture à valeur unique, l’un des GL_OBJECT_LINEAR, GL_EYE_LINEAR ou GL_SPHERE_MAP.
Cette fonction ne retourne pas de valeur.
Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .
Name | 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. |
|
pname était GL_TEXTURE_GEN_MODE, params était GL_SPHERE_MAP et coord était GL_R ou GL_Q |
|
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant. |
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 des symboles suivants : 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_TEXTURE_GEN_MODE, param spécifie un mode, l’un des GL_OBJECT_LINEAR, GL_EYE_LINEAR ou GL_SPHERE_MAP. 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 vertex. Vous pouvez utiliser cette fonction pour texturer 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 vertex de terrain comme distance par rapport au niveau de la mer; cette altitude est utilisée pour indexer l’image de texture pour mapper la neige blanche sur les sommets 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 n’est peut-être pas la même en vigueur lorsque les sommets des 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 unitaire 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 à partir 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 s 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 |
|