ANGLE_instanced_arrays: Methode drawArraysInstancedANGLE()
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.drawArraysInstancedANGLE() der WebGL API rendert Primitive aus Array-Daten, ähnlich wie die Methode gl.drawArrays(). Zusätzlich kann sie mehrere Instanzen des angegebenen Elementbereichs verarbeiten.
Hinweis:
Bei Verwendung von WebGL2 ist diese Methode standardmäßig als gl.drawArraysInstanced() verfügbar.
Syntax
drawArraysInstancedANGLE(mode, first, count, primcount)
Parameter
mode-
Ein
GLenum, der 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 einem Vertex-Paar.gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Zeichnet ein Dreieck für eine Gruppe von drei Vertices.
first-
Ein
GLint, der den Startindex im Array der Vektorpunkte angibt. count-
Ein
GLsizei, der die Anzahl der zu rendernden Indizes angibt. primcount-
Ein
GLsizei, der die Anzahl der zu verarbeitenden Instanzen des Elementbereichs angibt.
Rückgabewert
Keiner (undefined).
Ausnahmen
- Wenn
modekeiner der zulässigen Werte ist, wird eingl.INVALID_ENUM-Fehler ausgelöst. - Wenn
first,countoderprimcountnegativ sind, wird eingl.INVALID_VALUE-Fehler ausgelöst. - Wenn
gl.CURRENT_PROGRAMden Wertnullhat, wird eingl.INVALID_OPERATION-Fehler ausgelöst.
Beispiele
const ext = gl.getExtension("ANGLE_instanced_arrays");
ext.drawArraysInstancedANGLE(gl.POINTS, 0, 8, 4);
Spezifikationen
| Spezifikation |
|---|
| WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification> |
Browser-Kompatibilität
Siehe auch
ext.drawElementsInstancedANGLE()ext.vertexAttribDivisorANGLE()WebGLRenderingContext.drawArrays()WebGLRenderingContext.drawElements()WebGL2RenderingContext.drawArraysInstanced()WebGL2RenderingContext.drawElementsInstanced()WebGL2RenderingContext.vertexAttribDivisor()WEBGL_multi_draw.multiDrawArraysInstancedWEBGL()