gl.DrawArrays(mode, first, count)
gl.DrawArrays()
gibt mehrere geometrische Grundelement mit sehr wenigen
Unterprogrammaufrufen an. Anstatt eine GL-Prozedur aufzurufen, um jede
einzelne Ecke, Normale, Texturkoordinate, Kantenmarkierung oder Farbe zu
übergeben, können Sie separate Felder aus Scheiteln, Normalen und Farben
vordefinieren und daraus eine Folge von Grundelemente mit einem einzigen
Aufruf von gl.DrawArrays()
erstellen.
Wenn gl.DrawArrays()
aufgerufen wird, verwendet count
sequentielle
Elemente von jedem aktivierten Feld, um eine Folge von geometrischen
Grundelementen zu konstruieren, die zuerst mit Elementen beginnen. mode
gibt
an, welche Art von Grundelemente konstruiert werden und wie die Feld-Elemente
diese Grundelementen konstruieren. Wenn #GL_VERTEX_ARRAY
nicht aktiviert ist,
werden keine geometrischen Grundelemente generiert. mode
kann auf die
symbolischen Konstanten #GL_POINTS
, #GL_LINE_STRIP
, #GL_LINE_LOOP
,
#GL_LINES
, #GL_TRIANGLE_STRIP
, #GL_TRIANGLE_FAN
, #GL_TRIANGLES
,
#GL_QUAD_STRIP
, #GL_QUADS
, oder #GL_POLYGON
gesetzt werden.
Scheitel-Attribute, die von gl.DrawArrays()
geändert werden, haben nach der
Rückgabe von gl.DrawArrays()
einen nicht angegebenen Wert. Wenn beispielsweise
GL_COLOR_ARRAY aktiviert ist, ist der Wert der aktuellen Farbe nicht definiert,
nachdem gl.DrawArrays()
ausgeführt wurde. Attribute, die nicht geändert
werden, bleiben also definiert.
gl.DrawArrays()
ist in Display-Listen enthalten. Wenn gl.DrawArrays()
in eine
Display-Liste eingegeben wird, werden die erforderlichen Felddaten (die durch
die Feldzeiger und Aktivierung bestimmt werden) ebenfalls in die Display-Liste
aufgenommen. 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_ENUM00
wird generiert, wenn der Modus kein akzeptierter Wert ist.
#GL_INVALID_VALUE
wird generiert, wenn die Anzahl 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.
#GL_INVALID_OPERATION
wird generiert, wenn gl.DrawArrays()
zwischen
gl.Begin() und gl.End() ausgeführt wird.