glMultiTexCoord: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) |
K (Kategorisierung) |
||
(14 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | {{Bildwunsch|Ein Multitexturing-Beispielbild. Das Detailmapping Bild von Sascha wird schon zu oft verwendet. ;) }} | ||
= glMultiTexCoord = | = glMultiTexCoord = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
'''glMultiTexCoord''' - setzt die aktuellen Texturcoordinaten bei [[Multitexturing]]. | '''glMultiTexCoord''' - setzt die aktuellen Texturcoordinaten bei [[Multitexturing]]. | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''glMultiTexCoord1i'''(''target'' : GLenum; ''s'' : GLint); | procedure '''glMultiTexCoord1i'''(''target'' : GLenum; ''s'' : GLint); | ||
Zeile 18: | 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) |
+ | |||
− | |||
== Parameter == | == Parameter == | ||
Zeile 29: | Zeile 32: | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
! ''target'' | ! ''target'' | ||
− | | Bestimmt die Textureinheit, deren Koordinaten geändert werden soll. Die Anzahl der verfügbaren Textureinheiten ist Implementationsabhängig, | + | | 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_TEXTURE'''i 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'' | ! ''s,t,r,q'' | ||
− | | Bestimmt die s,t,r und q Texturkoordinate der gewählten Textureinheit. Der Initilisierungwert ist (0, 0, 0, 1). | + | | 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'' | ! ''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) | + | | 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 == | ||
− | '''glMultiTexCoord''' definiert die | + | '''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: |
+ | |||
+ | {|{{Prettytable_B1}} | ||
+ | !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 == | == 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 {{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]]}} | ||
+ | |||
− | |||
== Siehe auch == | == Siehe auch == | ||
− | [[glActiveTexture]], [[glClientActiveTexture]], [[glColor]], [[ | + | [[glActiveTexture]], [[glClientActiveTexture]], [[glColor]], [[glGetIntegerv]], [[glNormal]], [[glTexCoordPointer]] |
[[Kategorie:GL|MultiTexCoord]] | [[Kategorie:GL|MultiTexCoord]] | ||
+ | [[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