WEBGL_multi_draw: multiDrawElementsInstancedWEBGL() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die WEBGL_multi_draw.multiDrawElementsInstancedWEBGL() Methode der WebGL API rendert mehrere Primitiven aus Array-Daten. Sie ist identisch mit mehreren Aufrufen der gl.drawElementsInstanced() Methode.

Syntax

js
multiDrawElementsInstancedWEBGL(mode,
    countsList, countsOffset,
    type,
    firstsList, firstsOffset,
    instanceCountsList, instanceCountsOffset,
    drawCount)

Parameter

mode

Ein GLenum, der den Typ des zu rendernden Primitivs angibt. Mögliche Werte sind:

  • gl.POINTS: Zeichnet einen einzelnen Punkt.
  • gl.LINE_STRIP: Zeichnet eine gerade Linie zum nächsten Vertex.
  • gl.LINE_LOOP: Zeichnet eine gerade Linie zum nächsten Vertex und verbindet den letzten Vertex mit dem ersten.
  • gl.LINES: Zeichnet eine Linie zwischen einem Paar von Vertices.
  • gl.TRIANGLE_STRIP
  • gl.TRIANGLE_FAN
  • gl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Vertices.
countsList

Ein Int32Array oder Array (von GLint), das eine Liste von zu rendernden Indexnummern spezifiziert.

countsOffset

Ein GLUint, der den Startpunkt in das countsList Array definiert.

type

Ein GLenum, der den Typ der Werte im Element-Array-Puffer spezifiziert. Mögliche Werte sind:

  • gl.UNSIGNED_BYTE

  • gl.UNSIGNED_SHORT

  • Wenn die OES_element_index_uint Erweiterung verwendet wird:

    • gl.UNSIGNED_INT
offsetsList

Ein Int32Array oder Array (von GLsizei), das eine Liste von Startindices für die Arrays von Vektorpunkten spezifiziert.

offsetsOffset

Ein GLuint, der den Startpunkt in das offsetsList Array definiert.

instanceCountsList

Ein Int32Array oder Array (von GLsizei), das eine Liste von Anzahlen von Instanzen der auszuführenden Elementbereiche spezifiziert.

instanceCountsOffset

Ein GLuint, der den Startpunkt in das instanceCountsList Array definiert.

drawCount

Ein GLsizei, der die Anzahl der Instanzen des auszuführenden Elementbereichs spezifiziert.

Rückgabewert

Keiner.

Ausnahmen

  • Wenn mode nicht einer der akzeptierten Werte ist, wird ein gl.INVALID_ENUM Fehler ausgelöst.
  • Wenn drawCount oder Elemente in countsList, offsetsList oder instanceCountsList negativ sind, wird ein gl.INVALID_VALUE Fehler ausgelöst.

Beispiele

js
const counts = new Int32Array(/* … */);
const offsets = new Int32Array(/* … */);
const instanceCounts = new Int32Array(/* … */);
ext.multiDrawElementsInstancedWEBGL(
  gl.TRIANGLES,
  counts,
  0,
  gl.UNSIGNED_SHORT,
  offsets,
  0,
  instanceCounts,
  0,
  counts.length,
);

Spezifikationen

Specification
WebGL WEBGL_multi_draw Extension Specification

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
multiDrawElementsInstancedWEBGL

Legend

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

Full support
Full support
No support
No support

Siehe auch