WebGLRenderingContext: drawElements() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The WebGLRenderingContext.drawElements()
method of the WebGL API renders primitives from array data.
Syntax
drawElements(mode, count, type, offset)
Parameters
mode
-
A
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.TRIANGLE_STRIP
gl.TRIANGLE_FAN
gl.TRIANGLES
: Draws a triangle for a group of three vertices.
count
-
A
GLsizei
specifying the number of elements of the bound element array buffer to be rendered. For example, to draw a wireframe triangle withgl.LINES
the count should be 2 endpoints per line × 3 lines = 6 elements. However to draw the same wireframe triangle withgl.LINE_STRIP
the element array buffer does not repeat the indices for the end of the first line/start of the second line, and end of the second line/start of the third line, socount
will be four. To draw the same triangle withgl.LINE_LOOP
the element array buffer does not repeat the first/last vertex either socount
will be three. type
-
A
GLenum
specifying the type of the values in the element array buffer. Possible values are:gl.UNSIGNED_BYTE
gl.UNSIGNED_SHORT
When using the
OES_element_index_uint
extension:gl.UNSIGNED_INT
offset
-
A
GLintptr
specifying a byte offset in the element array buffer. Must be a valid multiple of the size of the giventype
.
Return value
None (undefined
).
Exceptions
-
If
mode
is not one of the accepted values, agl.INVALID_ENUM
error is thrown. -
If
offset
is not a valid multiple of the size of the given type, agl.INVALID_OPERATION
error is thrown. - If
count
is negative, agl.INVALID_VALUE
error is thrown.
Examples
gl.drawElements(gl.POINTS, 8, gl.UNSIGNED_BYTE, 0);
Specifications
Specification |
---|
WebGL Specification # 5.14.11 |
Browser compatibility
BCD tables only load in the browser