glMultiTexCoord: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) (→Beschreibung) |
Flash (Diskussion | Beiträge) (→Hinweise) |
||
Zeile 66: | Zeile 66: | ||
== Hinweise == | == Hinweise == | ||
− | + | '''glMultiTexCoord''' ist nur verfügbar, wenn die OpenGL-Version 1.3 oder höher ist, oder wenn die Erweiterung '''ARB_multitexture''' unterstützt wird. | |
+ | Die aktuellen Texturkoordinaten können jederzeit geändert werden. D.h. insbesondere, dass diese Funktion innerhalb eines [[glBegin]]/glEnd Blocks aufgerufen werden kann. | ||
+ | Es gilt immer: '''GL_TEXTURE'''i = '''GL_TEXTURE0''' + i | ||
== Fehlermeldungen == | == Fehlermeldungen == |
Version vom 5. September 2009, 23:13 Uhr
Ein Multitexturing-Beispielbild. Das Detailmapping Bild von Sascha wird schon zu oft verwendet. ;) |
Inhaltsverzeichnis
glMultiTexCoord
Name
glMultiTexCoord - setzt die aktuellen Texturcoordinaten bei Multitexturing.
Delphi-Spezifikation
procedure glMultiTexCoord1i(target : GLenum; s : GLint); procedure glMultiTexCoord2i(target : GLenum; s : GLint; t : GLint); procedure glMultiTexCoord3i(target : GLenum; s : GLint; t : GLint; r : GLint); procedure glMultiTexCoord4i(target : GLenum; s : GLint; t : GLint; r : GLint; q : GLint);
procedure glMultiTexCoord1iv(target : GLenum; const v : PGLint); procedure glMultiTexCoord2iv(target : GLenum; const v : PGLint); procedure glMultiTexCoord3iv(target : GLenum; const v : PGLint); procedure glMultiTexCoord4iv(target : GLenum; const v : PGLint);
Außer den hier gezeigten Versionen für Integer (i,iv) gibt es den Befehl noch für:
- GLdouble (d,dv)
- GLfloat (f,fv)
- GLshort (s,sv)
Parameter
target | Bestimmt die Textureinheit, deren Koordinaten geändert werden soll. Die Anzahl der verfügbaren Textureinheiten ist Implementationsabhängig, muss aber mindestens zwei sein. target muss als Wert eine der GL_TEXTUREi Konstanten zugewiesen werden, wobei 0 < i < GL_MAX_TEXTURE_UNITS - 1 sein muss. (GL_MAX_TEXTURE_UNITS ist eine implementationsabhängige Konstante) |
---|---|
s,t,r,q | Bestimmt die s,t,r und q Texturkoordinate der gewählten Textureinheit. Der Initilisierungwert ist (0, 0, 0, 1). (Nur bei Variante ohne v im Namen.) |
v | Ist ein Pointer auf ein Feld, welches die Texturkoordinaten in der Reihenfolge s,t,r,q enthält. Die Länge des Feldes ist dabei von der Befehlsversion abhängig.(1-4 Werte) (Nur bei Variante mit v im Namen.) |
Beschreibung
glMultiTexCoord definiert die Texturkoordinaten (s, t, r, q) für 1 bis 4 Dimensionen. Je nach genutzer Funktion werden die Koordinaten auf folgende Werte gesetzt:
Funktion | Wert |
---|---|
glMultiTexCoord1 | (s, 0, 0, 1) |
glMultiTexCoord4 | (s, t, 0, 1) |
glMultiTexCoord4 | (s, t, r, 1) |
glMultiTexCoord4 | (s, t, r, q) |
Die aktuellen Texturkoordinaten sind Teil der Daten die sich auf jeden Vertex auswirken.
Hinweise
glMultiTexCoord ist nur verfügbar, wenn die OpenGL-Version 1.3 oder höher ist, oder wenn die Erweiterung ARB_multitexture unterstützt wird.
Die aktuellen Texturkoordinaten können jederzeit geändert werden. D.h. insbesondere, dass diese Funktion innerhalb eines glBegin/glEnd Blocks aufgerufen werden kann.
Es gilt immer: GL_TEXTUREi = GL_TEXTURE0 + i
Fehlermeldungen
GL_FEHLER wird generiert wenn....
GL_INVALID_OPERATION wird generiert wenn FUNCTIONNAME innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGetIntegerv mit Token GL_MAX_TEXTURE_UNITS
Siehe auch
glActiveTexture, glClientActiveTexture, glColor, glGetIntegerv, glNormal, glTexCoordPointer