gl.IndexPointer(indexArray)
gl.IndexPointer()
gibt ein Feld von Farbindizes an, die beim Rendern verwendet
werden sollen. indexArray
muss ein Feld sein, das eine Anzahl von
Gleitkommawerten enthält, die Farbindizes beschreiben.
Wenn Sie Nil
in indexArray
übergeben, wird der Inhalt des Farbindex-Feld-Puffer
gelöscht, aber er wird nicht aus OpenGL entfernt. Dies muss manuell erfolgen,
z.B. durch Deaktivierung des Farbindex-Feldes oder durch Definition eines
neuen Feldes.
Wenn ein Farbindex-Feld angegeben wird, wird es zusätzlich zur aktuellen Scheitelpunkt-Feld-Pufferobjektbindung als klientseitiger Status gespeichert.
Um das Farbindex-Feld zu aktivieren und zu deaktivieren, rufen Sie den Befehl
gl.EnableClientState() und gl.DisableClientState()
mit dem Argument #GL_INDEX_ARRAY
auf. Wenn aktiviert, wird das Farbindex-Feld
verwendet, wenn gl.DrawArrays(), gl.DrawElements(),
oder gl.ArrayElement() aufgerufen wird.
Farbindizes werden für verschachtelte Scheitelpunkt-Feld-Formate nicht unterstützt. Siehe gl.InterleavedArrays für Details.
Das Farbindex-Feld ist zunächst deaktiviert und wird nicht aufgerufen, wenn gl.DrawArrays(), gl.DrawElements() oder gl.ArrayElement() aufgerufen wird.
Die Ausführung von gl.IndexPointer()
ist zwischen gl.Begin()
und gl.End() nicht erlaubt. Es kann ein Fehler auftreten
oder aber auch nicht. Wenn kein Fehler erzeugt wird, ist der Vorgang undefiniert.
gl.IndexPointer()
wird typischerweise auf der Klient-Seite implementiert.
Farbindex-Feld-Parameter sind klientseitig und werden daher nicht gespeichert oder durch gl.PushAttrib() und gl.PopAttrib() wiederhergestellt. Benutzen Sie stattdessen gl.PushClientAttrib() und gl.PopClientAttrib().
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
Nil
(siehe oben)#GL_INDEX_ARRAY
gl.Get() mit dem Argument #GL_INDEX_ARRAY_TYPE
gl.Get() mit dem Argument #GL_INDEX_ARRAY_STRIDE
gl.GetPointer() mit dem Argument #GL_INDEX_ARRAY_POINTER