WEBGL_multi_draw: multiDrawArraysInstancedWEBGL() 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.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
| Specification |
|---|
| WebGL WEBGL_multi_draw Extension Specification> |
Browser-Kompatibilität
Loading…