WEBGL_multi_draw: multiDrawArraysInstancedWEBGL() 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.multiDrawArraysInstancedWEBGL() Methode der WebGL-API rendert mehrere Primitive aus Array-Daten. Sie ist identisch mit mehrfachen Aufrufen der gl.drawArraysInstanced() Methode.
Syntax
multiDrawArraysInstancedWEBGL(mode,
firstsList, firstsOffset,
countsList, countsOffset,
instanceCountsList, instanceCountsOffset,
drawCount)
Parameter
mode-
Ein
GLenum, das den Typ des Primitivs zum Rendern 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 zurück zum ersten.gl.LINES: Zeichnet eine Linie zwischen einem Paar von Scheitelpunkten.gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Scheitelpunkten.
firstsList-
Ein
Int32ArrayoderArray(vonGLint), der eine Liste von Startindizes für die Arrays von Vectorpunkten angibt. firstsOffset-
Ein
GLuint, der den Startpunkt imfirstsListsArray definiert. countsList-
Ein
Int32ArrayoderArray(vonGLsizei), der eine Liste von Anzahlen von Indizes, die gerendert werden sollen, angibt. countsOffset-
Ein
GLuint, der den Startpunkt imcountsListArray definiert. instanceCountsList-
Ein
Int32ArrayoderArray(vonGLsizei), der eine Liste von Anzahlen von Instanzen des Bereichs von Elementen, die ausgeführt werden sollen, angibt. instanceCountsOffset-
Ein
GLuint, der den Startpunkt iminstanceCountsListArray definiert. drawCount-
Ein
GLsizei, der die Anzahl der Instanzen des Bereichs von Elementen, die ausgeführt werden sollen, angibt.
Rückgabewert
Keiner.
Ausnahmen
- Wenn
modenicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUMFehler ausgelöst. - Wenn
drawCountoder Elemente infirstsList,countsListoderinstanceCountsListnegativ sind, wird eingl.INVALID_VALUEFehler ausgelöst. - Wenn
gl.CURRENT_PROGRAMnullist, wird eingl.INVALID_OPERATIONFehler ausgelöst.
Beispiele
const firsts = new Int32Array(/* … */);
const counts = new Int32Array(/* … */);
const instanceCounts = new Int32Array(/* … */);
ext.multiDrawArraysInstancedWEBGL(
gl.TRIANGLES,
firsts,
0,
counts,
0,
instanceCounts,
0,
firsts.length,
);
Spezifikationen
| Spezifikation |
|---|
| WebGL WEBGL_multi_draw Extension Specification> |