WEBGL_multi_draw: multiDrawElementsWEBGL() 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.multiDrawElementsWEBGL()
Methode der
WebGL API rendert mehrere Primitive 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
, der den Typ des zu rendernden Primitives 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_STRIP
gl.TRIANGLE_FAN
gl.TRIANGLES
: Zeichnet ein Dreieck für eine Gruppe von drei Scheitelpunkten.
countsList
-
Ein
Int32Array
oderArray
(vonGLint
), das eine Liste von Anzahlen von Indizes angibt, die gerendert werden sollen. countsOffset
-
Ein
GLUint
, der den Ausgangspunkt in dascountsList
Array definiert. type
-
Ein
GLenum
, der den Typ der Werte im Element-Array-Puffer angibt. Mögliche Werte sind:-
gl.UNSIGNED_BYTE
-
gl.UNSIGNED_SHORT
-
Bei Verwendung der
OES_element_index_uint
Erweiterung:gl.UNSIGNED_INT
-
offsetsList
-
Ein
Int32Array
oderArray
(vonGLsizei
), das eine Liste von Startindizes für die Arrays von Vektorpunkten angibt. offsetsOffset
-
Ein
GLuint
, der den Ausgangspunkt in dasoffsetsList
Array definiert. drawCount
-
Ein
GLsizei
, der die Anzahl der Instanzen des Elementbereichs angibt, die ausgeführt werden sollen.
Rückgabewert
Keiner.
Ausnahmen
- Wenn
mode
nicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUM
Fehler ausgelöst. - Wenn
drawCount
oder Elemente incountsList
oderoffsetsList
negativ sind, wird eingl.INVALID_VALUE
Fehler 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
Specification |
---|
WebGL WEBGL_multi_draw Extension Specification |
Browser-Kompatibilität
BCD tables only load in the browser