WEBGL_multi_draw: Methode multiDrawElementsWEBGL()
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Methode WEBGL_multi_draw.multiDrawElementsWEBGL() der WebGL-API rendert mehrere Primitive aus Array-Daten. Sie entspricht mehreren Aufrufen der Methode gl.drawElements().
Syntax
multiDrawElementsWEBGL(mode,
countsList, countsOffset,
type,
firstsList, firstsOffset,
drawCount)
Parameter
mode-
Ein
GLenum, das 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 wieder mit dem ersten.gl.LINES: Zeichnet eine Linie zwischen zwei Vertices.gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Vertices.
countsList-
Ein
Int32ArrayoderArrayausGLint-Werten, das eine Liste mit der Anzahl der jeweils zu rendernden Indizes angibt. countsOffset-
Ein
GLUint, das die Startposition im ArraycountsListfestlegt. - type
-
Ein
GLenum, das den Typ der Werte im Element-Array-Buffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT- Bei Verwendung der Erweiterung
OES_element_index_uint:gl.UNSIGNED_INT
offsetsList-
Ein
Int32ArrayoderArrayausGLsizei-Werten, das eine Liste von Startindizes für die Arrays der Vektorpunkte angibt. offsetsOffset-
Ein
GLuint, das die Startposition im ArrayoffsetsListfestlegt. drawCount-
Ein
GLsizei, das die Anzahl der auszuführenden Instanzen des Elementbereichs angibt.
Rückgabewert
Keiner.
Ausnahmen
- Wenn
modekeiner der zulässigen Werte ist, wird eingl.INVALID_ENUM-Fehler ausgelöst. - Wenn
drawCountoder Einträge incountsListoderoffsetsListnegativ sind, wird eingl.INVALID_VALUE-Fehler ausgelöst.
Beispiele
const counts = new Int32Array(/* … */);
const offsets = new Int32Array(/* … */);
ext.multiDrawElementsWEBGL(
gl.TRIANGLES,
counts,
0,
gl.UNSIGNED_SHORT,
offsets,
0,
counts.length,
);
Spezifikationen
| Spezifikation |
|---|
| WebGL WEBGL_multi_draw Extension Specification> |