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_STRIP
gl.TRIANGLE_FAN
gl.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_BYTE
gl.UNSIGNED_SHORT
gl.UNSIGNED_INT
bei 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 angegebenentype
sein. instanceCount
-
Ein
GLsizei
, der die Anzahl der Instanzen des auszuführenden Elementsatzes angibt.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
mode
nicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUM
-Fehler ausgelöst. - Wenn
offset
ein gültiges Vielfaches der Größe des angegebenen Typs ist, wird eingl.INVALID_OPERATION
-Fehler ausgelöst. - Wenn
count
oderinstanceCount
negativ 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 |