ANGLE_instanced_arrays: Methode drawElementsInstancedANGLE()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juni 2016 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Methode ANGLE_instanced_arrays.drawElementsInstancedANGLE() der WebGL-API rendert Primitive aus Array-Daten, ähnlich wie die Methode gl.drawElements(). Zusätzlich kann sie mehrere Instanzen einer Menge von Elementen rendern.
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, das den Typ des zu rendernden Primitivs angibt. 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 wieder mit dem ersten.gl.LINES: Zeichnet eine Linie zwischen zwei Vertices.gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Vertices.
count-
Ein
GLsizei, das die Anzahl der zu rendernden Elemente angibt. type-
Ein
GLenum, das den Typ der Werte im Element-Array-Buffer angibt. Mögliche Werte sind:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORTgl.UNSIGNED_INTbei Verwendung der ErweiterungOES_element_index_uint.
offset-
Ein
GLintptr, das einen Offset im Element-Array-Buffer angibt. Der Wert muss ein gültiges Vielfaches der Größe des angegebenentypesein. primcount-
Ein
GLsizei, das die Anzahl der zu rendernden Instanzen der Elementmenge angibt.
Rückgabewert
Keiner (undefined).
Ausnahmen
- Wenn
modekeiner der zulässigen Werte ist, wird eingl.INVALID_ENUM-Fehler ausgelöst. - Wenn
offsetkein gültiges Vielfaches der Größe des angegebenen Typs ist, wird eingl.INVALID_OPERATION-Fehler ausgelöst. - Wenn
countoderprimcountnegativ ist, 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
| Spezifikation |
|---|
| WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification> |
Browser-Kompatibilität
Siehe auch
ext.drawArraysInstancedANGLE()ext.vertexAttribDivisorANGLE()WebGLRenderingContext.drawArrays()WebGLRenderingContext.drawElements()WebGL2RenderingContext.drawArraysInstanced()WebGL2RenderingContext.drawElementsInstanced()WebGL2RenderingContext.vertexAttribDivisor()WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()