glDrawArrays-Funktion
Die glDrawArrays-Funktion gibt mehrere Grundtypen an, die gerendert werden sollen.
Syntax
void WINAPI glDrawArrays(
GLenum mode,
GLint first,
GLsizei count
);
Parameter
-
mode
-
Die Art der zu rendernden Grundtypen. Die folgenden Konstanten geben akzeptable Grundtypen an: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS und GL_POLYGON.
-
first
-
Der Startindex in den aktivierten Arrays.
-
count
-
Die Anzahl der zu rendernden Indizes.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
Name | Bedeutung |
---|---|
|
Anzahl war negativ. |
|
der Modus war kein akzeptierter Wert. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Mit glDrawArrays können Sie mehrere geometrische Grundtypen angeben, die gerendert werden sollen. Anstatt separate OpenGL-Funktionen aufzurufen, um jeden einzelnen Scheitelpunkt, jeden einzelnen Scheitelpunkt oder jede einzelne Farbe zu übergeben, können Sie separate Arrays von Scheitelpunkten, Normalen und Farben angeben, um eine Sequenz von Grundtypen (alle dieselbe Art) mit einem einzelnen Aufruf von glDrawArrays zu definieren.
Wenn Sie glDrawArrays aufrufen, werden sequenzielle Elemente aus jedem aktivierten Array verwendet, um eine Sequenz von geometrischen Grundtypen zu erstellen, beginnend mit dem ersten Element. Der Modusparameter gibt an, welche Art von Primitiven erstellt werden soll und wie die Arrayelemente zum Erstellen der Grundtypen verwendet werden.
Nachdem glDrawArrays zurückgegeben wurde, sind die Werte von Vertexattributen, die von glDrawArrays geändert werden, nicht definiert. Wenn beispielsweise GL_COLOR_ARRAY aktiviert ist, ist der Wert der aktuellen Farbe nach der Rückgabe von glDrawArrays nicht definiert. Attribute, die nicht von glDrawArrays geändert wurden, bleiben definiert. Wenn GL_VERTEX_ARRAY nicht aktiviert ist, werden keine geometrischen Grundwerte generiert, sondern die Attribute, die aktivierten Arrays entsprechen, geändert.
Sie können glDrawArrays in Anzeigelisten einschließen. Wenn Sie glDrawArrays in eine Anzeigeliste aufnehmen, werden die erforderlichen Arraydaten generiert und in die Anzeigeliste eingegeben. Die Werte von Arrayzeigern und -aktivieren werden beim Erstellen von Anzeigelisten bestimmt.
Sie können statische Arraydaten jederzeit lesen. Wenn statische Arrayelemente geändert werden und das Array nicht erneut angegeben wird, sind die Ergebnisse der nachfolgenden Aufrufe von glDrawArrays nicht definiert.
Obwohl kein Fehler generiert wird, wenn Sie ein Array mehr als einmal innerhalb von glBegin - und glend-Paaren angeben, sind die Ergebnisse nicht definiert.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|