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

js
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:

offset

Ein GLintptr, der einen Offset im Element-Array-Puffer angibt. Muss ein gültiges Vielfaches der Größe des angegebenen type 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 ein gl.INVALID_ENUM-Fehler ausgelöst.
  • Wenn offset ein gültiges Vielfaches der Größe des angegebenen Typs ist, wird ein gl.INVALID_OPERATION-Fehler ausgelöst.
  • Wenn count oder instanceCount negativ sind, wird ein gl.INVALID_VALUE-Fehler ausgelöst.

Beispiele

js
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

Siehe auch