Bezeichnung
gl.DrawArrays -- rendert Grundelement aus Felddaten
Übersicht
gl.DrawArrays(mode, first, count)
Beschreibung
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.

Eingaben
mode
gibt an, welche Art von Grundelemente gerendert werden sollen (siehe oben)
first
gibt den Startindex in den aktivierten Feldern an
count
gibt die Anzahl der zu rendernden Indizes an
Fehler
#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.


Navigation zeigen