WebGLRenderingContext: drawArrays()-Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.drawArrays()
-Methode der WebGL API rendert Primitive aus Array-Daten.
Syntax
drawArrays(mode, first, count)
Parameter
mode
-
Ein
GLenum
, der den Typ des zu rendernden Primitives angibt. Mögliche Werte sind:gl.POINTS
: Zeichnet einen einzelnen Punkt.gl.LINE_STRIP
: Zeichnet eine gerade Linie zum nächsten Scheitelpunkt.gl.LINE_LOOP
: Zeichnet eine gerade Linie zum nächsten Scheitelpunkt und verbindet den letzten Scheitelpunkt wieder mit dem ersten.gl.LINES
: Zeichnet eine Linie zwischen einem Paar von Scheitelpunkten.gl.TRIANGLE_STRIP
gl.TRIANGLE_FAN
gl.TRIANGLES
: Zeichnet ein Dreieck für eine Gruppe von drei Scheitelpunkten.
Hinweis: Wenn der
mode
POINTS
ist, muss möglicherweisegl_PointSize
gesetzt werden, damitdrawArrays
rendert, da dessen Wert unbekannt ist, wenn er nicht explizit geschrieben wird. Nur einige GPUs setzen dessen Standardwert auf1.0
. first
-
Ein
GLint
, der den Startindex im Array der Vektorpunkte angibt. count
-
Ein
GLsizei
, der die Anzahl der zu rendernden Indizes angibt.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
mode
nicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUM
-Fehler ausgelöst. - Wenn
first
odercount
negativ sind, wird eingl.INVALID_VALUE
-Fehler ausgelöst. - wenn
gl.CURRENT_PROGRAM
null
ist, wird eingl.INVALID_OPERATION
-Fehler ausgelöst.
Beispiele
gl.drawArrays(gl.POINTS, 0, 8);
Spezifikationen
Specification |
---|
WebGL Specification # 5.14.11 |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
WebGLRenderingContext.drawElements()
ext.drawArraysInstancedANGLE()
ext.drawElementsInstancedANGLE()
ext.vertexAttribDivisorANGLE()
WebGL2RenderingContext.drawArraysInstanced()
WebGL2RenderingContext.drawElementsInstanced()
WebGL2RenderingContext.vertexAttribDivisor()
WEBGL_multi_draw.multiDrawArraysWEBGL()