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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
drawElementsInstanced

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch