ANGLE_instanced_arrays: drawElementsInstancedANGLE() Methode

Die ANGLE_instanced_arrays.drawElementsInstancedANGLE() Methode der WebGL API rendert Primitiven aus Array-Daten ähnlich wie die gl.drawElements() Methode. Zusätzlich kann sie mehrere Instanzen eines Satzes von Elementen ausführen.

Hinweis: Bei Verwendung von WebGL2 ist diese Methode standardmäßig als gl.drawElementsInstanced() verfügbar.

Syntax

js
drawElementsInstancedANGLE(mode, count, type, offset, primcount)

Parameter

mode

Ein GLenum, der den Typ des Primitivs angibt, das gerendert werden soll. 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.

primcount

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 ein gl.INVALID_ENUM Fehler ausgelöst.
  • Wenn offset ein ungültiges Vielfaches der Größe des angegebenen Typs ist, wird ein gl.INVALID_OPERATION Fehler ausgelöst.
  • Wenn count oder primcount negativ sind, wird ein gl.INVALID_VALUE Fehler ausgelöst.

Beispiele

js
const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawElementsInstancedANGLE(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);

Spezifikationen

Specification
WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch