Skip to main content

WEBGL_multi_draw

The WEBGL_multi_draw extension is part of the WebGL API and allows to render more than one primitive with a single function call. This can improve a WebGL application's performance as it reduces binding costs in the renderer and speeds up GPU thread time with uniform data.

MDN Reference

Methods

multiDrawArraysInstancedWEBGL()

Call Signature

multiDrawArraysInstancedWEBGL(
mode,
firstsList,
firstsOffset,
countsList,
countsOffset,
instanceCountsList,
instanceCountsOffset,
drawcount
): void;

The WEBGL_multi_draw.multiDrawArraysInstancedWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawArraysInstanced() method.

MDN Reference

Parameters
ParameterType
modenumber
firstsListnumber[] | Int32Array<ArrayBufferLike>
firstsOffsetnumber
countsListnumber[] | Int32Array<ArrayBufferLike>
countsOffsetnumber
instanceCountsListnumber[] | Int32Array<ArrayBufferLike>
instanceCountsOffsetnumber
drawcountnumber
Returns

void

Call Signature

multiDrawArraysInstancedWEBGL(
mode,
firstsList,
firstsOffset,
countsList,
countsOffset,
instanceCountsList,
instanceCountsOffset,
drawcount
): void;

The WEBGL_multi_draw.multiDrawArraysInstancedWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawArraysInstanced() method.

MDN Reference

Parameters
ParameterType
modenumber
firstsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
firstsOffsetnumber
countsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
countsOffsetnumber
instanceCountsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
instanceCountsOffsetnumber
drawcountnumber
Returns

void


multiDrawArraysWEBGL()

Call Signature

multiDrawArraysWEBGL(
mode,
firstsList,
firstsOffset,
countsList,
countsOffset,
drawcount
): void;

The WEBGL_multi_draw.multiDrawArraysWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawArrays() method.

MDN Reference

Parameters
ParameterType
modenumber
firstsListnumber[] | Int32Array<ArrayBufferLike>
firstsOffsetnumber
countsListnumber[] | Int32Array<ArrayBufferLike>
countsOffsetnumber
drawcountnumber
Returns

void

Call Signature

multiDrawArraysWEBGL(
mode,
firstsList,
firstsOffset,
countsList,
countsOffset,
drawcount
): void;

The WEBGL_multi_draw.multiDrawArraysWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawArrays() method.

MDN Reference

Parameters
ParameterType
modenumber
firstsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
firstsOffsetnumber
countsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
countsOffsetnumber
drawcountnumber
Returns

void


multiDrawElementsInstancedWEBGL()

Call Signature

multiDrawElementsInstancedWEBGL(
mode,
countsList,
countsOffset,
type,
offsetsList,
offsetsOffset,
instanceCountsList,
instanceCountsOffset,
drawcount
): void;

The WEBGL_multi_draw.multiDrawElementsInstancedWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawElementsInstanced() method.

MDN Reference

Parameters
ParameterType
modenumber
countsListnumber[] | Int32Array<ArrayBufferLike>
countsOffsetnumber
typenumber
offsetsListnumber[] | Int32Array<ArrayBufferLike>
offsetsOffsetnumber
instanceCountsListnumber[] | Int32Array<ArrayBufferLike>
instanceCountsOffsetnumber
drawcountnumber
Returns

void

Call Signature

multiDrawElementsInstancedWEBGL(
mode,
countsList,
countsOffset,
type,
offsetsList,
offsetsOffset,
instanceCountsList,
instanceCountsOffset,
drawcount
): void;

The WEBGL_multi_draw.multiDrawElementsInstancedWEBGL() method of the WebGL API renders multiple primitives from array data. It is identical to multiple calls to the gl.drawElementsInstanced() method.

MDN Reference

Parameters
ParameterType
modenumber
countsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
countsOffsetnumber
typenumber
offsetsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
offsetsOffsetnumber
instanceCountsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
instanceCountsOffsetnumber
drawcountnumber
Returns

void


multiDrawElementsWEBGL()

Call Signature

multiDrawElementsWEBGL(
mode,
countsList,
countsOffset,
type,
offsetsList,
offsetsOffset,
drawcount
): void;

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.

MDN Reference

Parameters
ParameterType
modenumber
countsListnumber[] | Int32Array<ArrayBufferLike>
countsOffsetnumber
typenumber
offsetsListnumber[] | Int32Array<ArrayBufferLike>
offsetsOffsetnumber
drawcountnumber
Returns

void

Call Signature

multiDrawElementsWEBGL(
mode,
countsList,
countsOffset,
type,
offsetsList,
offsetsOffset,
drawcount
): void;

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.

MDN Reference

Parameters
ParameterType
modenumber
countsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
countsOffsetnumber
typenumber
offsetsList| Iterable<number, any, any> | Int32Array<ArrayBufferLike>
offsetsOffsetnumber
drawcountnumber
Returns

void