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 Juli 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.drawElements() Methode der WebGL API rendert Primitiven aus Array-Daten.
Syntax
drawElements(mode, count, type, offset)
Parameter
mode-
Ein
GLenum, der 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_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Scheitelpunkten.
count-
Ein
GLsizei, der die Anzahl der zu rendernden Elemente des gebundenen Element-Array-Puffers angibt. Zum Beispiel, um ein Drahtgitterdreieck mitgl.LINESzu zeichnen, sollte die Anzahl 2 Endpunkte pro Linie × 3 Linien = 6 Elemente betragen. Um jedoch dasselbe Drahtgitterdreieck mitgl.LINE_STRIPzu zeichnen, wiederholt der Element-Array-Puffer nicht die Indizes für das Ende der ersten Linie/den Anfang der zweiten Linie und das Ende der zweiten Linie/den Anfang der dritten Linie, daher wirdcountvier sein. Um dasselbe Dreieck mitgl.LINE_LOOPzu zeichnen, wiederholt der Element-Array-Puffer auch nicht den ersten/letzten Scheitelpunkt, daher wirdcountdrei sein. type-
Ein
GLenum, der den Typ der Werte im Element-Array-Puffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT
Bei Verwendung der
OES_element_index_uintErweiterung:gl.UNSIGNED_INT
offset-
Ein
GLintptr, der einen Byte-Offset im Element-Array-Puffer angibt. Muss ein gültiges Vielfaches der Größe des angegebenentypesein.
Rückgabewert
Keiner (undefined).
Ausnahmen
- Wenn
modenicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUMFehler ausgelöst. - Wenn
offsetkein gültiges Vielfaches der Größe des angegebenen Typs ist, wird eingl.INVALID_OPERATIONFehler ausgelöst. - Wenn
countnegativ ist, wird eingl.INVALID_VALUEFehler ausgelöst.
Beispiele
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
Spezifikationen
| Specification |
|---|
| WebGL Specification> # 5.14.11> |
Browser-Kompatibilität
Loading…