gl.EdgeFlagPointer(flagsArray)
gl.EdgeFlagPointer()
gibt ein Feld von Booleschen Kantenflags an, die beim
Rendern verwendet werden sollen. Wenn Sie Nil
in flagsArray
übergeben, wird
der Kanten-Flag-Feld-Puffer freigegeben, aber er wird nicht aus OpenGL
entfernt. Dies muss manuell erfolgen, z.B. durch Deaktivieren des
Kanten-Flag-Felds oder durch Definieren eines neuen.
Wenn ein Kanten-Flag-Feld angegeben wird, wird es zusätzlich zur aktuellen Scheitelpunkt-Feld-Pufferobjektbindung als klientseitiger Status gespeichert.
Um das Kanten-Flag-Feld zu aktivieren und zu deaktivieren, rufen Sie
gl.EnableClientState() und gl.DisableClientState()
mit dem Argument #GL_EDGE_FLAG_ARRAY
auf. Wenn aktiviert, wird das
Kanten-Flag-Feld verwendet, wenn gl.DrawArrays(),
gl.DrawElements() oder gl.ArrayElement() aufgerufen wird.
Kantenflags werden für verschachtelte Scheitelpunkt-Feld-Formate nicht unterstützt. Siehe gl.InterleavedArrays für Details.
Das Kanten-Flag-Feld ist zunächst deaktiviert und wird nicht aufgerufen, wenn gl.DrawArrays(), gl.DrawElements(), oder gl.ArrayElement() aufgerufen wird.
Die Ausführung von gl.EdgeFlagPointer()
ist zwischen der Ausführung von
gl.Begin() und gl.End() nicht erlaubt,
aber es kann ein Fehler auftreten oder auch nicht. Wenn kein Fehler erzeugt
wird, ist der Vorgang undefiniert.
gl.EdgeFlagPointer()
wird typischerweise auf der Klient-Seite implementiert.
Kanten-Flag-Feld-Parameter sind klientseitige Zustände und werden daher nicht von 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
enthält#GL_EDGE_FLAG_ARRAY
gl.Get() mit dem Argument #GL_EDGE_FLAG_ARRAY_POINTER