glMultiTexCoord: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) (→Hinweise) |
K (Kategorisierung) |
||
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 21: | Zeile 21: | ||
− | Außer den hier gezeigten Versionen für | + | Außer den hier gezeigten Versionen für {{INLINE_CODE|GLint}}(i,iv) gibt es den Befehl noch für: |
− | * GLdouble (d,dv) | + | * {{INLINE_CODE|GLdouble}}(d,dv) |
− | * GLfloat (f,fv) | + | * {{INLINE_CODE|GLfloat}}(f,fv) |
− | * GLshort (s,sv) | + | * {{INLINE_CODE|GLshort}}(s,sv) |
− | |||
Zeile 41: | Zeile 40: | ||
| 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.) | | 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 == | == Beschreibung == | ||
Zeile 63: | Zeile 64: | ||
|} | |} | ||
− | Die aktuellen Texturkoordinaten sind Teil der Daten die sich auf jeden [[Vertex]] auswirken. | + | Die aktuellen Texturkoordinaten sind Teil der Daten, die sich auf jeden [[Vertex]] auswirken. |
+ | |||
+ | |||
== 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. | '''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. | + | Die aktuellen Texturkoordinaten können jederzeit geändert werden. D.h. insbesondere, dass diese Funktion innerhalb eines {{INLINE_CODE|[[glBegin]]}}/{{INLINE_CODE|[[glEnd]]}}-Blocks aufgerufen werden kann. |
Es gilt immer: '''GL_TEXTURE'''i = '''GL_TEXTURE0''' + i | Es gilt immer: '''GL_TEXTURE'''i = '''GL_TEXTURE0''' + i | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
− | [[ | + | {{INLINE_CODE|[[glGet]]}} mit Token {{INLINE_CODE|[[glGet#GL_CURRENT_TEXTURE_COORDS|GL_CURRENT_TEXTURE_COORDS]]}} |
+ | {{INLINE_CODE|[[glGet]]}} mit Token {{INLINE_CODE|[[glGet#GL_MAX_TEXTURE_COORDS|GL_MAX_TEXTURE_COORDS]]}} | ||
Zeile 89: | Zeile 88: | ||
[[Kategorie:GL|MultiTexCoord]] | [[Kategorie:GL|MultiTexCoord]] | ||
− | [[Kategorie:GL1.3]] | + | [[Kategorie:GL1.3|MultiTexCoord]] |
Aktuelle Version vom 18. Juni 2011, 18:55 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 GLint(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
Zugehörige Wertrückgaben
glGet mit Token GL_CURRENT_TEXTURE_COORDS
glGet mit Token GL_MAX_TEXTURE_COORDS
Siehe auch
glActiveTexture, glClientActiveTexture, glColor, glGetIntegerv, glNormal, glTexCoordPointer