WEBGL_multi_draw: multiDrawElementsInstancedWEBGL() 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.multiDrawElementsInstancedWEBGL() Methode der
WebGL API rendert mehrere Primitiven aus
Array-Daten. Sie ist identisch zu mehreren Aufrufen der
gl.drawElementsInstanced()
Methode.
Syntax
multiDrawElementsInstancedWEBGL(mode,
countsList, countsOffset,
type,
firstsList, firstsOffset,
instanceCountsList, instanceCountsOffset,
drawCount)
Parameter
mode-
Ein
GLenum, der den Typ des Primitivs festlegt, das gerendert werden soll. 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_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Vertices.
countsList-
Ein
Int32ArrayoderArray(vonGLint), das eine Liste von Anzahlen von Indizes, die gerendert werden sollen, angibt. countsOffset-
Ein
GLUint, der den Startpunkt in dascountsListArray definiert. type-
Ein
GLenum, der den Typ der Werte im Element-Array-Puffer festlegt. 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 Startindizes für die Arrays der Vektorpunkte angibt. offsetsOffset-
Ein
GLuint, der den Startpunkt in dasoffsetsListArray definiert. instanceCountsList-
Ein
Int32ArrayoderArray(vonGLsizei), das eine Liste von Anzahlen von Instanzen des Bereichs von Elementen, die ausgeführt werden sollen, angibt. instanceCountsOffset-
Ein
GLuint, der den Startpunkt in dasinstanceCountsListArray definiert. drawCount-
Ein
GLsizei, das 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 incountsList,offsetsListoderinstanceCountsListnegativ sind, wird eingl.INVALID_VALUEFehler ausgelöst.
Beispiele
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
| Spezifikation |
|---|
| WebGL WEBGL_multi_draw Extension Specification> |