WebGL2RenderingContext: drawElementsInstanced() Methode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGL2RenderingContext.drawElementsInstanced()-Methode
der WebGL 2 API rendert Primitive aus
Array-Daten wie die gl.drawElements()-Methode. Darüber hinaus kann sie mehrere Instanzen eines Elementsatzes ausführen.
Hinweis:
Bei Verwendung von WebGL 1 kann die ANGLE_instanced_arrays-Erweiterung diese Methode ebenfalls bereitstellen.
Syntax
drawElementsInstanced(mode, count, type, offset, instanceCount)
Parameter
mode-
Ein
GLenum, das 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 zurück 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, das die Anzahl der zu rendernden Elemente angibt. type-
Ein
GLenum, der den Typ der Werte im Elementarray-Puffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORTgl.UNSIGNED_INTbei Verwendung derOES_element_index_uint-Erweiterung.
offset-
Ein
GLintptr, der einen Versatz im Elementarray-Puffer angibt. Muss ein gültiges Vielfaches der Größe des angegebenentypesein. instanceCount-
Ein
GLsizei, der die Anzahl der Instanzen des auszuführenden Elementsatzes angibt.
Rückgabewert
Keiner (undefined).
Ausnahmen
- Wenn
modenicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUM-Fehler ausgelöst. - Wenn
offsetein gültiges Vielfaches der Größe des angegebenen Typs ist, wird eingl.INVALID_OPERATION-Fehler ausgelöst. - Wenn
countoderinstanceCountnegativ sind, wird eingl.INVALID_VALUE-Fehler ausgelöst.
Beispiele
gl.drawElementsInstanced(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);
Spezifikationen
| Specification |
|---|
| WebGL 2.0 Specification> # 3.7.9> |
Browser-Kompatibilität
Loading…