WebGL2RenderingContext: Methode drawElementsInstanced()
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 Methode gl.drawElements()
. Zusätzlich kann sie mehrere Instanzen eines Satzes von Elementen ausführen.
Hinweis:
Bei Verwendung von WebGL 1 kann die Erweiterung ANGLE_instanced_arrays
diese Methode auch bereitstellen.
Syntax
drawElementsInstanced(mode, count, type, offset, instanceCount)
Parameter
mode
-
Ein
GLenum
, der den zu rendernden Primitive-Typ 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 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
, der die Anzahl der zu rendernden Elemente angibt. type
-
Ein
GLenum
, der den Typ der Werte im Element-Array-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 Offset im Element-Array-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
keiner 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 |
Browser-Kompatibilität
BCD tables only load in the browser