Path: blob/main/files/en-us/web/api/angle_instanced_arrays/drawarraysinstancedangle/index.md
6538 views
------{{APIRef("WebGL")}}
The ANGLE_instanced_arrays.drawArraysInstancedANGLE() method of the WebGL API renders primitives from array data like the {{domxref("WebGLRenderingContext.drawArrays()", "gl.drawArrays()")}} method. In addition, it can execute multiple instances of the range of elements.
Note: When using {{domxref("WebGL2RenderingContext", "WebGL2")}}, this method is available as {{domxref("WebGL2RenderingContext.drawArraysInstanced()", "gl.drawArraysInstanced()")}} by default.
Syntax
Parameters
mode: A {{domxref("WebGL_API/Types", "GLenum")}} specifying the type primitive to render. Possible values are:
gl.POINTS: Draws a single dot.gl.LINE_STRIP: Draws a straight line to the next vertex.gl.LINE_LOOP: Draws a straight line to the next vertex, and connects the last vertex back to the first.gl.LINES: Draws a line between a pair of vertices.gl.TRIANGLES: Draws a triangle for a group of three vertices.
first: A {{domxref("WebGL_API/Types", "GLint")}} specifying the starting index in the array of vector points.
count: A {{domxref("WebGL_API/Types", "GLsizei")}} specifying the number of indices to be rendered.
primcount: A {{domxref("WebGL_API/Types", "GLsizei")}} specifying the number of instances of the range of elements to execute.
Return value
None ({{jsxref("undefined")}}).
Exceptions
If
modeis not one of the accepted values, agl.INVALID_ENUMerror is thrown.If
first,countorprimcountare negative, agl.INVALID_VALUEerror is thrown.if
gl.CURRENT_PROGRAMisnull, agl.INVALID_OPERATIONerror is thrown.
Examples
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{domxref("ANGLE_instanced_arrays.drawElementsInstancedANGLE()", "ext.drawElementsInstancedANGLE()")}}
{{domxref("ANGLE_instanced_arrays.vertexAttribDivisorANGLE()", "ext.vertexAttribDivisorANGLE()")}}
{{domxref("WebGLRenderingContext.drawArrays()")}}
{{domxref("WebGLRenderingContext.drawElements()")}}
{{domxref("WebGL2RenderingContext.drawArraysInstanced()")}}
{{domxref("WebGL2RenderingContext.drawElementsInstanced()")}}
{{domxref("WebGL2RenderingContext.vertexAttribDivisor()")}}
{{domxref("WEBGL_multi_draw.multiDrawArraysInstancedWEBGL()")}}