glTexGeniv-Funktion
Steuert die Generierung von Texturkoordinaten.
Syntax
void WINAPI glTexGeniv(
GLenum coord,
GLenum pname,
const GLint *params
);
Parameter
-
Coord
-
Eine Texturkoordinate. Muss einer der folgenden Sein: GL _ S, GL _ T, GL _ R oder GL _ Q.
-
pname
-
Der symbolische Name der Texturkoordinatengenerierungsfunktion.
-
params
-
Ein Array, das die Koeffizienten für die entsprechende Texturgenerierungsfunktion enthält.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
| Name | Bedeutung |
|---|---|
|
coord oder pname war kein akzeptierter definierter Wert, oder pname war GL _ TEXTURE GEN MODE und _ _ params war kein akzeptierter definierter Wert. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEndaufgerufen. |
Bemerkungen
Die glTexGen-Funktion wählt eine Texturkoordinatengenerierungsfunktion aus oder stellt Koeffizienten für eine der Funktionen zur Verfügung. Der Coord-Parameter benennt eine der Texturkoordinaten (s,t,r,q) und muss eines dieser Symbole sein: GL _ S, GL _ T, GL _ R oder GL _ Q. Der pname-Parameter muss eine von drei symbolischen Konstanten sein: GL _ TEXTURE GEN _ _ MODE, GL OBJECT PLANE oder GL _ EYE _ _ _ PLANE. Wenn pname entweder GL _ OBJECT PLANE oder GL EYE PLANE _ _ _ ist, enthält param Koeffizienten für die entsprechende Texturgenerierungsfunktion.
Wenn die Texturgenerierungsfunktion GL _ OBJECT _ LINEAR ist, die Funktion
! [Gleichung, die die glTexGen-Funktion zeigt, wenn die Texturgenerierungsfunktion GL_OBJECT_LINEAR ist.]
wird verwendet, wobei g der Wert ist, der für die Koordinate mit dem Namen in coord berechnet wird. p1, p2, p3 und p4 sind die vier Werte, die in Parametern bereitgestellt werden. und x?, y?, z? und w? sind die Objektkoordinaten des Scheitelpunkts. Sie können diese Funktion verwenden, um ein Gelände zu strukturieren, indem Sie den Seegrad als Referenzebene verwenden (definiert durch p1, p2, p3 und p4). Die _ GL OBJECT _ LINEAR-Koordinatengenerierungsfunktion berechnet die Höhe eines Geländevertex als Abstand zum Wasserstand. Diese Höhe wird beispielsweise verwendet, um das Texturbild zu indizieren, um Weißschnee auf Spitzen und grünen Rasen zu Fuß zuzuordnen.
Wenn die Texturgenerierungsfunktion GL _ EYE _ LINEAR ist, die Funktion
! [Gleichung, die die glTexGen-Funktion zeigt, wenn die Texturgenerierungsfunktion GL_EYE_LINEAR ist.]
wird verwendet, wobei

und x?, y?, z? und w? sind die Augenkoordinaten des Scheitelpunkts, p1, p2, p3 und p4 sind die werte, die im Param angegeben sind, und M ist die Modellansichtsmatrix, wenn Sie glTexGen aufrufen. Wenn M schlecht konditioniert oder singular ist, können texturkoordinaten, die von der resultierenden Funktion generiert werden, ungenau oder nicht definiert sein.
Beachten Sie, dass die Werte in param eine Verweisebene in Augenkoordinaten definieren. Die Modellansichtsmatrix, die auf sie angewendet wird, ist möglicherweise nicht identisch, wenn die Polygonvertices transformiert werden. Diese Funktion richtet ein Feld von Texturkoordinaten ein, das dynamische Konturlinien für sich bewegende Objekte erzeugen kann.
Wenn pname GL _ SPHERE MAP und _ coord entweder GL _ S oder GL T _ ist, werden die Texturkoordinaten s und t wie folgt generiert. Lassen Sie uns der Einheitenvektor sein, der vom Ursprung auf den Polygonvertex (in Augenkoordinaten) verweist. Lassen Sie n die aktuelle Normalität nach der Transformation zu Augenkoordinaten sein. Lassen Sie f = (fx ( ) fy ( ) fz)T der Reflektionsvektor sein, sodass

Lassen Sie uns abschließend

Anschließend sind die Werte, die den i- und t-Texturkoordinaten zugewiesen sind,

Sie können eine Texturkoordinatengenerierungsfunktion aktivieren oder deaktivieren, indem Sie glEnable oder glDisable mit einem der symbolischen Texturkoordinatennamen (GL _ TEXTURE GEN _ _ S, GL TEXTURE GEN _ _ _ T, GL TEXTURE GEN R _ oder GL TEXTURE GEN _ _ _ _ _ Q) als Argument verwenden. Wenn diese Funktion aktiviert ist, wird die angegebene Texturkoordinate entsprechend der generierenden Funktion berechnet, die dieser Koordinate zugeordnet ist. Wenn diese Funktion deaktiviert ist, übernehmen nachfolgende Scheitelpunkte die angegebene Texturkoordinate aus dem aktuellen Satz von Texturkoordinaten. Anfänglich werden alle Funktionen zur Texturgenerierung auf GL EYE LINEAR festgelegt _ _ und deaktiviert. Beide Ebenengleichungen sind (1,0,0,0); beide t-Ebenengleichungen sind (0,1,0,0); und alle Formeln der R- und Q-Ebene sind (0,0,0,0).
Die folgenden Funktionen rufen Informationen im Zusammenhang mit glTexGen ab:
glGetTexGen
glIsEnabled mit argument GL _ TEXTURE _ GEN _ S
glIsEnabled mit argument GL _ TEXTURE _ GEN _ T
glIsEnabled mit argument GL _ TEXTURE _ GEN _ R
glIsEnabled mit argument GL _ TEXTURE _ GEN _ Q
Requirements (Anforderungen)
| 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 |
|