WebGLRenderingContext: drawArrays() 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.
Note: This feature is available in Web Workers.
The WebGLRenderingContext.drawArrays() method of the WebGL API renders primitives from array data.
Syntax
js
drawArrays(mode, first, count)
Parameters
- mode
- 
A GLenumspecifying 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.
 Note: If modeisPOINTS,gl_PointSizemay need to be set fordrawArraysto render, as its value is unknown if not explicitly written. Only some GPUs set its default as1.0.
- first
- 
A GLintspecifying the starting index in the array of vector points.
- count
- 
A GLsizeispecifying the number of indices to be rendered.
Return value
None (undefined).
Exceptions
- If modeis not one of the accepted values, agl.INVALID_ENUMerror is thrown.
- If firstorcountare negative, agl.INVALID_VALUEerror is thrown.
- if gl.CURRENT_PROGRAMisnull, agl.INVALID_OPERATIONerror is thrown.
Examples
js
gl.drawArrays(gl.POINTS, 0, 8);
Specifications
| Specification | 
|---|
| WebGL Specification> # 5.14.11> | 
Browser compatibility
Loading…
See also
- WebGLRenderingContext.drawElements()
- ext.drawArraysInstancedANGLE()
- ext.drawElementsInstancedANGLE()
- ext.vertexAttribDivisorANGLE()
- WebGL2RenderingContext.drawArraysInstanced()
- WebGL2RenderingContext.drawElementsInstanced()
- WebGL2RenderingContext.vertexAttribDivisor()
- WEBGL_multi_draw.multiDrawArraysWEBGL()