WebGLRenderingContext: drawElements()-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: Dieses Feature ist verfügbar in Web Workers.
Die WebGLRenderingContext.drawElements()
-Methode der WebGL API rendert Primitive aus Array-Daten.
Syntax
drawElements(mode, count, type, offset)
Parameter
mode
-
Ein
GLenum
, das den Typ des zu rendernden Primitivs 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.
count
-
Ein
GLsizei
, das die Anzahl der zu rendierenden Elemente des gebundenen Element-Array-Puffers angibt. Zum Beispiel, um ein Drahtgitter-Dreieck mitgl.LINES
zu zeichnen, sollte die Anzahl 2 Endpunkte pro Linie × 3 Linien = 6 Elemente sein. Um jedoch dasselbe Drahtgitter-Dreieck mitgl.LINE_STRIP
zu zeichnen, wiederholt der Element-Array-Puffer die Indizes für das Ende der ersten Linie/Anfang der zweiten Linie und das Ende der zweiten Linie/Anfang der dritten Linie nicht, sodasscount
vier sein wird. Um dasselbe Dreieck mitgl.LINE_LOOP
zu zeichnen, wird auch der erste/letzte Scheitelpunkt nicht wiederholt, daher wirdcount
drei sein. type
-
Ein
GLenum
, das den Typ der Werte im Element-Array-Puffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTE
gl.UNSIGNED_SHORT
Bei Verwendung der
OES_element_index_uint
-Erweiterung:gl.UNSIGNED_INT
offset
-
Ein
GLintptr
, das einen Byte-Offset im Element-Array-Puffer angibt. Muss ein gültiges Vielfaches der Größe des angegebenentype
sein.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
mode
nicht einen der akzeptierten Werte hat, wird eingl.INVALID_ENUM
-Fehler ausgelöst. - Wenn
offset
kein gültiges Vielfaches der Größe des angegebenen Typs ist, wird eingl.INVALID_OPERATION
-Fehler ausgelöst. - Wenn
count
negativ ist, wird eingl.INVALID_VALUE
-Fehler ausgelöst.
Beispiele
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
Spezifikationen
Specification |
---|
WebGL Specification # 5.14.11 |
Browser-Kompatibilität
BCD tables only load in the browser