gl.TexCoordPointer(vArray[, size])
gl.TexCoordPointer()
gibt ein Feld von Texturkoordinaten an, die beim Rendern
verwendet werden sollen. vArray
kann entweder eine eindimensionale Tabelle
sein, die aus einer beliebigen Anzahl von aufeinanderfolgenden
Texturkoordinaten besteht, oder eine zweidimensionale Tabelle, die aus
einer beliebigen Anzahl von Untertabellen besteht, die jeweils 1 bis 4
Texturkoordinaten enthalten. Wenn vArray
eine eindimensionale Tabelle
ist, müssen Sie auch das optionale Argument size
übergeben, um die Anzahl
der Texturkoordinaten pro Feld-Element zu definieren. Wenn vArray
eine
zweidimensionale Tabelle ist, wird size
automatisch durch die Anzahl der
Elemente in der ersten Untertabelle bestimmt, die ebenfalls im Bereich
von 1 bis 4 liegen müssen.
Bei der Verwendung einer zweidimensionalen Tabelle ist zu beachten, dass die Anzahl der Texturkoordinaten in jeder Untertabelle konstant sein muss. Es ist nicht erlaubt, in den einzelnen Untertabellen eine unterschiedliche Anzahl von Texturkoordinaten zu verwenden. Die Anzahl der Texturkoordinaten wird durch die Anzahl der Elemente in der ersten Untertabelle definiert und alle folgenden Untertabellen müssen die gleiche Anzahl von Koordinaten verwenden.
Wenn Sie Nil
in vArray
übergeben, wird der Inhalt des Texturkoordinaten-Feld-Puffers
gelöscht, aber er wird nicht aus OpenGL entfernt. Dies muss manuell
erfolgen, z.B. durch Deaktivierung des Texturkoordinaten-Feldes oder
durch Definition eines neuen Feldes.
Um ein Texturkoordinaten-Feld zu aktivieren und zu deaktivieren, rufen Sie den
Befehl gl.EnableClientState() und
gl.DisableClientState() mit dem Argument
#GL_TEXTURE_COORD_ARRAY
auf. Wenn aktiviert, wird das Texturkoordinaten-Feld
verwendet, wenn gl.DrawArrays(), gl.DrawElements()
oder gl.ArrayElement() aufgerufen wird.
Jedes Texturkoordinaten-Feld ist zunächst deaktiviert und wird nicht aufgerufen, wenn gl.DrawArrays(), gl.DrawElements() oder gl.ArrayElement() aufgerufen wird.
Die Ausführung von gl.TexCoordPointer()
ist zwischen der Ausführung von
gl.Begin() und gl.End() nicht erlaubt.
Es kann ein Fehler auftreten oder auch nicht. Wenn kein Fehler erzeugt
wird, ist die Operation undefiniert.
gl.TexCoordPointer()
wird typischerweise auf der Klient-Seite implementiert.
Texturkoordinaten-Feld-Parameter sind klientseitig und werden daher nicht durch gl.PushAttrib() und gl.PopAttrib() gespeichert oder wiederhergestellt. Benutzen Sie stattdessen gl.PushClientAttrib() und gl.PopClientAttrib().
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
Nil
(siehe oben)#GL_INVALID_VALUE
wird erzeugt, wenn size
nicht 1, 2, 3 oder 4 ist.
#GL_TEXTURE_COORD_ARRAY
gl.Get() mit dem Argument #GL_TEXTURE_COORD_ARRAY_SIZE
gl.Get() mit dem Argument #GL_TEXTURE_COORD_ARRAY_TYPE
gl.Get() mit dem Argument #GL_TEXTURE_COORD_ARRAY_STRIDE
gl.GetPointer() mit dem Argument #GL_TEXTURE_COORD_ARRAY_POINTER