Partager via


fonction glTexEnviv

La fonction glTexEnviv définit un paramètre d’environnement de texture.

Syntaxe

void WINAPI glTexEnviv(
         GLenum target,
         GLenum pname,
   const GLint  *params
);

Paramètres

cible

Environnement de texture. Doit être GL_TEXTURE_ENV.

pname

Nom symbolique d’un paramètre d’environnement de texture à valeur unique. Les valeurs acceptées sont GL_TEXTURE_ENV_MODE et GL_TEXTURE_ENV_COLOR.

params

Pointeur vers un tableau de paramètres : une constante symbolique unique ou une couleur RVBA.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Name Signification
GL_INVALID_ENUM
target ou pname n’était pas l’une des valeurs définies acceptées, ou lorsque params aurait dû avoir une valeur constante définie (basée sur la valeur de pname) et ne l’a pas fait.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

Un environnement de texture spécifie la façon dont les valeurs de texture sont interprétées lorsqu’un fragment est texturé. Le paramètre cible doit être GL_TEXTURE_ENV. Le paramètre pname peut être GL_TEXTURE_ENV_MODE ou GL_TEXTURE_ENV_COLOR.

Si pname est GL_TEXTURE_ENV_MODE, params est (ou pointe vers) le nom symbolique d’une fonction de texture. Trois fonctions de texture sont définies : GL_MODULATE, GL_DECAL et GL_BLEND.

Une fonction de texture agit sur le fragment à texturer à l’aide de la valeur d’image de texture qui s’applique au fragment (voir glTexParameter) et produit une couleur RGBA pour ce fragment. Le tableau suivant montre comment la couleur RVBA est produite pour chacune des trois fonctions de texture qui peuvent être choisies. C est un triple de valeurs de couleur (RVB) et A est la valeur alpha associée. Les valeurs RVBA extraites d’une image de texture se trouvent dans la plage [0, 1]. L’indice f fait référence au fragment entrant, l’indice t à l’image de texture, l’indice c à la couleur de l’environnement de texture et l’indice v indique une valeur produite par la fonction de texture.

Une image de texture peut avoir jusqu’à quatre composants par élément de texture (voir glTexImage1D et glTexImage2D). Dans une image à un composant, Lt indique ce composant unique. Une image à deux composants utilise L ? et A ? . Une image à trois composants n’a qu’une valeur de couleur, C ? . Une image à quatre composants a à la fois une valeur de couleur C ? et une valeur alpha A? .

Nombre de composants GL_MODULATE GL_DECAL GL_BLEND
1${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1 - L?)Cf + L?Cc
Unv = Af Unv = Af
2${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1 - L?)Cf + L?Cc
Unv = Af Unv = Af
3${REMOVE}$
Cv = C?Cf Cv = C? undefined${REMOVE}$
Unv = Af Unv = Af
4${REMOVE}$
Cv = C?Cf Cv = (1 - A?)Cf + A ?C? undefined${REMOVE}$
Unv = Un?Af Unv = Af

Si pname est GL_TEXTURE_ENV_COLOR, params est un pointeur vers un tableau qui contient une couleur RVBA composée de quatre valeurs. Les composants de couleur d’entier sont interprétés de manière linéaire de telle sorte que l’entier le plus positif est mappé à 1.0 et l’entier le plus négatif est mappé à -1.0. Les valeurs sont limitées à la plage [0, 1] lorsqu’elles sont spécifiées. Cc prend ces quatre valeurs.

GL_TEXTURE_ENV_MODE par défaut est GL_MODULATE et GL_TEXTURE_ENV_COLOR par défaut sur (0, 0, 0, 0).

La fonction suivante récupère les informations relatives à glTexEnviv :

glTexGetEnviv

Spécifications

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
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter