glMultiTexCoord

Aus DGL Wiki
Version vom 5. September 2009, 23:17 Uhr von Flash (Diskussion | Beiträge) (Zugehörige Wertrückgaben)

Wechseln zu: Navigation, Suche
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 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

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