Partager via


glTexEnvfv, fonction

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

Syntaxe

void WINAPI glTexEnvfv(
         GLenum  target,
         GLenum  pname,
   const GLfloat *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 : constante symbolique unique ou 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 .

Nom Signification
GL_INVALID_ENUM
target ou pname n’était pas l’une des valeurs définies acceptées, ou lorsque les params auraient eu une valeur constante définie (en fonction de la valeur de pname) et non.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Remarques

Un environnement de texture spécifie comment les valeurs de texture sont interprétées lorsqu’un fragment est texturené. 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, l’analyseur 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 à texture à l’aide de la valeur de l’image de texture qui s’applique au fragment (voir glTexParameter) et produit une couleur RVBA 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 la valeur v indique une valeur produite par la fonction de texture.

Une image de texture peut comporter jusqu’à quatre composants par élément de texture (voir glTexImage1D et glTexImage2D). Dans une image à composant unique, 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 = (1L - ?)CfL + ?Cc
Av = Af Av = Af
2${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1L - ?)CfL + ?Cc
AvAf = Av = Af
3${REMOVE}$
Cv = C?Cf Cv = C? undefined${REMOVE}$
Av = Af Av = Af
4${REMOVE}$
Cv = C?Cf Cv = (1 - A ?)CfA + ?C? undefined${REMOVE}$
Av = Un?Af Av = 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 entière sont interprétés linéairement de sorte que les entiers les plus positifs correspondent à 1,0 et que le nombre entier le plus négatif est mappé à -1.0. Les valeurs sont serrées à la plage [0, 1] lorsqu’elles sont spécifiées. Cc prend ces quatre valeurs.

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

La fonction suivante récupère des informations relatives à glTexEnvfv :

glTexGetEnvfvv

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