The WEBGL_multi_draw.multiDrawElementsWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawElements() method.
On this page
WEBGL_multi_draw: multiDrawElementsWEBGL() method
Syntax
js
multiDrawElementsWEBGL(mode,
    countsList, countsOffset,
    type,
    firstsList, firstsOffset,
    drawCount);
   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_STRIPgl.TRIANGLE_FANgl.TRIANGLES: Draws a triangle for a group of three vertices.
 - 
     
countsList - 
     
An
Int32ArrayorArray(ofGLint) specifying a list of numbers of indices to be rendered. - 
     
countsOffset - 
     
A
GLUintdefining the starting point into thecountsListarray. - type
 - 
     
A
GLenumspecifying the type of the values in the element array buffer. Possible values are:gl.UNSIGNED_BYTEgl.UNSIGNED_SHORT- When using the 
OES_element_index_uintextension:gl.UNSIGNED_INT
 
 - 
     
offsetsList - 
     
An
Int32ArrayorArray(ofGLsizei) specifying a list of starting indices for the arrays of vector points. - 
     
offsetsOffset - 
     
A
GLuintdefining the starting point into theoffsetsListarray. - 
     
drawCount - 
     
A
GLsizeispecifying the number of instances of the range of elements to execute. 
Return value
None.
Exceptions
- If 
modeis not one of the accepted values, agl.INVALID_ENUMerror is thrown. - If 
drawCountor items incountsListoroffsetsListare negative, agl.INVALID_VALUEerror is thrown. 
Examples
js
const counts = new Int32Array(/* … */);
const offsets = new Int32Array(/* … */);
ext.multiDrawElementsWEBGL(
  gl.TRIANGLES,
  counts,
  0,
  gl.UNSIGNED_SHORT,
  offsets,
  0,
  counts.length,
);
   Specifications
| Specification | 
|---|
| WebGL WEBGL_multi_draw Extension Specification  | 
      
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
multiDrawElementsWEBGL | 
       86 | 86 | No | No | 72 | 15 | 86 | 86 | No | No | 15 | 14.0 | 
See also
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
 https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL