glMultiTexCoord: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Zugehörige Wertrückgaben)
K
Zeile 21: Zeile 21:
  
  
Außer den hier gezeigten Versionen für {{INLINE_CODE|[[GLint]]}}(i,iv) gibt es den Befehl noch für:
+
Außer den hier gezeigten Versionen für {{INLINE_CODE|GLint}}(i,iv) gibt es den Befehl noch für:
* {{INLINE_CODE|[[GLdouble]]}}(d,dv)
+
* {{INLINE_CODE|GLdouble}}(d,dv)
* {{INLINE_CODE|[[GLfloat]]}}(f,fv)
+
* {{INLINE_CODE|GLfloat}}(f,fv)
* {{INLINE_CODE|[[GLshort]]}}(s,sv)
+
* {{INLINE_CODE|GLshort}}(s,sv)
  
 
== Parameter ==
 
== Parameter ==
Zeile 60: Zeile 60:
 
|}
 
|}
  
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 {{INLINE_CODE|[[glBegin]]}}/{{INLINE_CODE|[[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

Version vom 12. Mai 2010, 19:56 Uhr

Hinweis: Diesem Artikel sollten folgende Bilder beigefügt werden:

(Mehr Informationen/weitere Artikel)
Bildwunsch.jpg
Ein Multitexturing-Beispielbild. Das Detailmapping Bild von Sascha wird schon zu oft verwendet. ;)

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