gl.ArrayElement(i)
gl.ArrayElement()
Befehle werden innerhalb von gl.Begin() und
gl.End() verwendet, um Scheitel- und Attributdaten für Punkt-,
Linien- und Polygon-Grundelemente anzugeben. Wenn #GL_VERTEX_ARRAY
aktiviert ist
und gl.ArrayElement()
aufgerufen wird, wird ein einzelner Scheitelpunkt gezeichnet.
Dieser verwendet Scheitel- und Attributdaten, die vom Speicherort i
der aktivierten
Felder stammen. Wenn #GL_VERTEX_ARRAY
nicht aktiviert ist, wird keine Zeichnung
erstellt, aber die Attribute, die den aktivierten Feldern entsprechen, werden geändert.
Verwenden Sie gl.ArrayElement()
, um Grundelemente zu konstruieren, indem
Scheiteldaten indiziert werden, anstatt Datenfelder in der Reihenfolge
von vorne nach hinten zu durchlaufen. Da jeder Aufruf nur einen einzelnen
Scheitelpunkt angibt, ist es möglich, durch einfache Attribute wie z.B. eine
einzelne Normale für jedes Dreieck explizit anzugeben.
Änderungen an Felddaten zwischen der Ausführung von gl.Begin()
und gl.End() können Aufrufe von gl.ArrayElement()
beeinflussen,
die innerhalb der gleichen gl.Begin() und gl.End()-Periode
auf nicht sequentielle Weise ausgeführt werden. Das heißt, ein Aufruf von
gl.ArrayElement()
, der einer Änderung an Felddaten vorausgeht, kann auf die
geänderten Daten zugreifen und ein Aufruf, der einer Änderung an Felddaten folgt,
kann auf Originaldaten zugreifen.
glArrayElement wird von Displaylisten aufgenommen. Wenn gl.ArrayElement()
in
eine Display-Liste eingegeben wird, werden auch die erforderlichen Felddaten
(bestimmt durch die Feldzeiger und Aktivierungen) in die Display-Liste eingetragen.
Da die Feldzeiger und -ereignisse Klientseitig sind, wirken sich ihre Werte
bei der Erstellung der Listen auf Display-Listen aus, nicht jedoch bei der
Ausführung der Listen.
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
#GL_INVALID_VALUE
kann generiert werden, wenn i
negativ ist.
#GL_INVALID_OPERATION
wird generiert, wenn ein Pufferobjektname ungleich Null
an ein aktiviertes Feld gebunden ist und der Datenspeicher des Pufferobjekts
derzeit zugeordnet ist.