WEBGL_multi_draw: multiDrawElementsWEBGL() Methode
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.
Die WEBGL_multi_draw.multiDrawElementsWEBGL() Methode des
WebGL API rendert mehrere Primitiven aus
Array-Daten. Sie ist identisch mit mehreren Aufrufen der
gl.drawElements()
Methode.
Syntax
multiDrawElementsWEBGL(mode,
countsList, countsOffset,
type,
firstsList, firstsOffset,
drawCount)
Parameter
mode-
Ein
GLenum, das den zu rendernden Primitivtyp 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 zurück zum ersten.gl.LINES: Zeichnet eine Linie zwischen einem Paar von Vertices.gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Vertices.
countsList-
Ein
Int32ArrayoderArray(vonGLint), das eine Liste von Anzahlen der zu rendernden Indizes angibt. countsOffset-
Ein
GLUint, das den Anfangspunkt imcountsListArray definiert. type-
Ein
GLenum, das den Typ der Werte im Element-Array-Puffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT- Bei Verwendung der
OES_element_index_uintErweiterung:gl.UNSIGNED_INT
offsetsList-
Ein
Int32ArrayoderArray(vonGLsizei), das eine Liste von Anfangsindizes für die Arrays der Vektorpunkte angibt. offsetsOffset-
Ein
GLuint, das den Anfangspunkt imoffsetsListArray definiert. drawCount-
Ein
GLsizei, das die Anzahl der Instanzen des Bereichs von Elementen angibt, die ausgeführt werden sollen.
Rückgabewert
Keiner.
Ausnahmen
- Wenn
modenicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUMFehler ausgelöst. - Wenn
drawCountoder Elemente incountsListoderoffsetsListnegativ sind, wird eingl.INVALID_VALUEFehler 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> |