Bezeichnung
gl.ColorPointer -- definiert ein Feld von Farben
Übersicht
gl.ColorPointer(colorArray[, size])
Beschreibung
gl.ColorPointer() gibt ein Feld von Farbkomponenten an, die beim Rendern verwendet werden sollen. colorArray kann entweder eine eindimensionale Tabelle sein, die aus einer beliebigen Anzahl von aufeinanderfolgenden Farbwerten besteht, oder eine zweidimensionale Tabelle, die aus einer beliebigen Anzahl von Untertabellen besteht, die jeweils 3 oder 4 Farbwerte enthalten. Wenn colorArray eine eindimensionale Tabelle ist, müssen Sie auch das optionale Argument size übergeben, um die Größe jeder Farbkomponente in colorArray zu definieren. size muss entweder 3 oder 4 sein. Wenn colorArray eine zweidimensionale Tabelle ist, wird size automatisch durch die Anzahl der Elemente in der ersten Untertabelle bestimmt, die entweder 3 oder 4 sein muss.

Beachten Sie bei der Verwendung einer zweidimensionalen Tabelle, dass die Anzahl der Farbwerte in jeder Untertabelle konstant sein muss. In den einzelnen Untertabellen dürfen keine unterschiedlichen Farbwerte verwendet werden. Die Anzahl der Farbwerte wird durch die Anzahl der Elemente in der ersten Untertabelle definiert und alle folgenden Untertabellen müssen die gleiche Anzahl an Farbwerten verwenden.

Wenn Sie Nil in colorArray übergeben, wird der Farbfeldpuffer freigegeben, aber er wird nicht aus OpenGL entfernt. Sie müssen dies manuell tun, z.B. indem Sie das Farbfeld deaktivieren oder ein neues definieren.

Um das Farbfeld zu aktivieren und zu deaktivieren, rufen Sie gl.EnableClientState() und gl.DisableClientState() mit dem Argument #GL_COLOR_ARRAY auf. Wenn es aktiviert ist, wird das Farbfeld verwendet, wenn gl.DrawArrays(), gl.DrawElements() oder gl.ArrayElement() aufgerufen wird.

Das Farbfeld ist zunächst deaktiviert und wird nicht aufgerufen, wenn gl.DrawArrays(), gl.DrawElements() oder gl.ArrayElement() aufgerufen wird.

Die Ausführung von gl.ColorPointer() ist zwischen gl.Begin() und gl.End() nicht erlaubt, aber ein Fehler kann oder kann nicht erzeugt werden. Wenn kein Fehler generiert wird, ist die Operation nicht definiert.

gl.ColorPointer() wird typischerweise auf der Klient-Seite implementiert.

Farbfeld-Parameter sind Klientseitig und werden daher nicht von gl.PushAttrib() und gl.PopAttrib() gespeichert oder wiederhergestellt. Verwenden Sie stattdessen gl.PushClientAttrib() und gl.PopClientAttrib().

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
colorArray
ein- oder zweidimensionale Tabelle mit Farbwerten oder Nil (siehe oben)
size
optional: Größe jeder Farbkomponente; muss entweder 3 oder 4 sein und wird nur mit eindimensionalen Tabellen verwendet (siehe oben)
Fehler
#GL_INVALID_VALUE wird generiert, wenn die Größe nicht 3 oder 4 ist.

Verbundene get-operationen
gl.IsEnabled() mit dem Argument #GL_COLOR_ARRAY

gl.Get() mit dem Argument #GL_COLOR_ARRAY_SIZE

gl.Get() mit dem Argument #GL_COLOR_ARRAY_TYPE

gl.Get() mit dem Argument #GL_COLOR_ARRAY_STRIDE

gl.Get() mit dem Argument #GL_COLOR_ARRAY_POINTER


Navigation zeigen