glTexEnviv-Funktion
Die glTexEnviv-Funktion legt einen Texturumgebungsparameter fest.
void WINAPI glTexEnviv(
GLenum target,
GLenum pname,
const GLint *params
);
-
Ziel
-
Eine Texturumgebung. Muss GL_TEXTURE_ENV sein.
-
pname
-
Der symbolische Name eines einwertigen Texturumgebungsparameters. Zulässige Werte sind GL_TEXTURE_ENV_MODE und GL_TEXTURE_ENV_COLOR.
-
params
-
Ein Zeiger auf ein Array von Parametern: entweder eine einzelne symbolische Konstante oder eine RGBA-Farbe.
Diese Funktion gibt keinen Wert zurück.
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
Name | Bedeutung |
---|---|
|
target oder pname war keiner der akzeptierten definierten Werte, oder wenn Params einen definierten konstanten Wert (basierend auf dem Wert von pname) aufweisen sollten und nicht. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Eine Texturumgebung gibt an, wie Texturwerte interpretiert werden, wenn ein Fragment texturiert wird. Der Zielparameter muss GL_TEXTURE_ENV sein. Der pname-Parameter kann entweder GL_TEXTURE_ENV_MODE oder GL_TEXTURE_ENV_COLOR sein.
Wenn pname GL_TEXTURE_ENV_MODE ist, ist params der symbolische Name einer Texturfunktion (oder zeigt darauf). Drei Texturfunktionen werden definiert: GL_MODULATE, GL_DECAL und GL_BLEND.
Eine Texturfunktion wirkt auf das zu texturende Fragment mithilfe des Texturbildwerts, der für das Fragment gilt (siehe glTexParameter), und erzeugt eine RGBA-Farbe für dieses Fragment. Die folgende Tabelle zeigt, wie die RGBA-Farbe für jede der drei Texturfunktionen erzeugt wird, die ausgewählt werden können. C ist ein Dreifach von Farbwerten (RGB) und A der zugeordnete Alphawert. RGBA-Werte, die aus einem Texturbild extrahiert werden, liegen im Bereich [0, 1]. Der Tiefgestellte f bezieht sich auf das eingehende Fragment, das tiefgestellte t auf das Texturbild, der Tiefgestellt c auf die Texturumgebungsfarbe und tiefgestellt v gibt einen wert an, der von der Texturfunktion erzeugt wird.
Ein Texturbild kann bis zu vier Komponenten pro Texturelement enthalten (siehe glTexImage1D und glTexImage2D). In einem Bild mit einer Komponente gibt Lt diese einzelne Komponente an. Ein Bild mit zwei Komponenten verwendet L? und A? . Ein Bild mit drei Komponenten hat nur den Farbwert C? . Ein Bild mit vier Komponenten weist sowohl den Farbwert C? als auch den Alphawert A? auf.
Anzahl der Komponenten | GL_MODULATE | GL_DECAL | GL_BLEND |
---|---|---|---|
1${REMOVE}$ |
Cv = L?Cf | undefined${REMOVE}$ |
Cv = (1 - L?)Cf + L?Cc |
Av = Af | Av = Af | ||
2${REMOVE}$ |
Cv = L?Cf | undefined${REMOVE}$ |
Cv = (1 - L?)Cf + L?Cc |
Av = Af | Av = Af | ||
3${REMOVE}$ |
Cv = C?Cf | Cv = C? | undefined${REMOVE}$ |
Av = Af | Av = Af | ||
4${REMOVE}$ |
Cv = C?Cf | Cv = (1 - A?)Cf + A?C? | undefined${REMOVE}$ |
Av = Eine?Af | Av = Af |
Wenn pname GL_TEXTURE_ENV_COLOR ist, ist params ein Zeiger auf ein Array, das eine RGBA-Farbe enthält, die aus vier Werten besteht. Ganzzahlige Farbkomponenten werden linear so interpretiert, dass die positivste ganze Zahl 1,0 und die negativste ganze Zahl -1,0 zugeordnet wird. Die Werte werden beim Angeben auf den Bereich [0, 1] geklemmt. Cc akzeptiert diese vier Werte.
GL_TEXTURE_ENV_MODE ist standardmäßig auf GL_MODULATE und GL_TEXTURE_ENV_COLOR Standardwert (0, 0, 0, 0).
Die folgende Funktion ruft Informationen im Zusammenhang mit glTexEnviv ab:
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|