WebGL2RenderingContext: drawElementsInstanced() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Note: This feature is available inWeb Workers.
TheWebGL2RenderingContext.drawElementsInstanced() methodof theWebGL 2 API renders primitives fromarray data like thegl.drawElements() method. In addition, it can execute multiple instances of a setof elements.
Note:When usingWebGL 1, theANGLE_instanced_arrays extension can provide this method,too.
In this article
Syntax
drawElementsInstanced(mode, count, type, offset, instanceCount)Parameters
modeA
GLenumspecifying the type primitive to render. Possible valuesare: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, andconnects the last vertex back to the first.gl.LINES: Draws a line between a pair of vertices.gl.TRIANGLE_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Draws a triangle for a group of three vertices.
countA
GLsizeispecifying the number of elements to be rendered.typeA
GLenumspecifying the type of the values in the element arraybuffer. Possible values are:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORTgl.UNSIGNED_INTWhen using theOES_element_index_uintextension.
offsetA
GLintptrspecifying an offset in the element array buffer. Must bea valid multiple of the size of the giventype.instanceCountA
GLsizeispecifying the number of instances of the set of elementsto execute.
Return value
None (undefined).
Exceptions
- If
modeis not one of the accepted values, agl.INVALID_ENUMerror is thrown. - If
offsetis a valid multiple of the size of the given type, agl.INVALID_OPERATIONerror is thrown. - If
countorinstanceCountare negative, agl.INVALID_VALUEerror is thrown.
Examples
gl.drawElementsInstanced(gl.POINTS, 2, gl.UNSIGNED_SHORT, 0, 4);Specifications
| Specification |
|---|
| WebGL 2.0 Specification> # 3.7.9> |