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