ANGLE_instanced_arrays: drawElementsInstancedANGLE() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since June 2016.
Die ANGLE_instanced_arrays.drawElementsInstancedANGLE()
Methode der WebGL API rendert Primitiven aus Array-Daten ähnlich wie die gl.drawElements()
Methode. Zusätzlich kann sie mehrere Instanzen eines Satzes von Elementen ausführen.
Hinweis:
Bei Verwendung von WebGL2
ist diese Methode standardmäßig als gl.drawElementsInstanced()
verfügbar.
Syntax
drawElementsInstancedANGLE(mode, count, type, offset, primcount)
Parameter
mode
-
Ein
GLenum
, der den Typ des Primitivs angibt, das gerendert werden soll. 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 mit dem 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.
count
-
Ein
GLsizei
, der die Anzahl der zu rendernden Elemente angibt. type
-
Ein
GLenum
, der den Typ der Werte im Element-Array-Puffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTE
gl.UNSIGNED_SHORT
gl.UNSIGNED_INT
bei Verwendung derOES_element_index_uint
Erweiterung.
offset
-
Ein
GLintptr
, der einen Offset im Element-Array-Puffer angibt. Muss ein gültiges Vielfaches der Größe des angegebenentype
sein. primcount
-
Ein
GLsizei
, der die Anzahl der Instanzen des auszuführenden Elementsatzes angibt.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
mode
nicht einer der akzeptierten Werte ist, wird eingl.INVALID_ENUM
Fehler ausgelöst. - Wenn
offset
ein ungültiges Vielfaches der Größe des angegebenen Typs ist, wird eingl.INVALID_OPERATION
Fehler ausgelöst. - Wenn
count
oderprimcount
negativ sind, wird eingl.INVALID_VALUE
Fehler ausgelöst.
Beispiele
const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawElementsInstancedANGLE(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);
Spezifikationen
Specification |
---|
WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
ext.drawArraysInstancedANGLE()
ext.vertexAttribDivisorANGLE()
WebGLRenderingContext.drawArrays()
WebGLRenderingContext.drawElements()
WebGL2RenderingContext.drawArraysInstanced()
WebGL2RenderingContext.drawElementsInstanced()
WebGL2RenderingContext.vertexAttribDivisor()
WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()