glMultiTexCoord: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Hinweise)
K (Fehlermeldungen)
Zeile 71: Zeile 71:
  
 
Es gilt immer: '''GL_TEXTURE'''i = '''GL_TEXTURE0''' + i
 
Es gilt immer: '''GL_TEXTURE'''i = '''GL_TEXTURE0''' + i
 
== Fehlermeldungen ==
 
'''GL_FEHLER''' wird generiert wenn....<br>
 
'''GL_INVALID_OPERATION''' wird generiert wenn FUNCTIONNAME innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.
 
 
 
 
  
 
==  Zugehörige Wertrückgaben ==
 
==  Zugehörige Wertrückgaben ==

Version vom 5. September 2009, 23:14 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 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

glGetIntegerv mit Token GL_MAX_TEXTURE_UNITS



Siehe auch

glActiveTexture, glClientActiveTexture, glColor, glGetIntegerv, glNormal, glTexCoordPointer