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.
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
firstsList | number[] | Int32Array<ArrayBufferLike> |
firstsOffset | number |
countsList | number[] | Int32Array<ArrayBufferLike> |
countsOffset | number |
instanceCountsList | number[] | Int32Array<ArrayBufferLike> |
instanceCountsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
firstsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
firstsOffset | number |
countsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
countsOffset | number |
instanceCountsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
instanceCountsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
firstsList | number[] | Int32Array<ArrayBufferLike> |
firstsOffset | number |
countsList | number[] | Int32Array<ArrayBufferLike> |
countsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
firstsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
firstsOffset | number |
countsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
countsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
countsList | number[] | Int32Array<ArrayBufferLike> |
countsOffset | number |
type | number |
offsetsList | number[] | Int32Array<ArrayBufferLike> |
offsetsOffset | number |
instanceCountsList | number[] | Int32Array<ArrayBufferLike> |
instanceCountsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
countsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
countsOffset | number |
type | number |
offsetsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
offsetsOffset | number |
instanceCountsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
instanceCountsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
countsList | number[] | Int32Array<ArrayBufferLike> |
countsOffset | number |
type | number |
offsetsList | number[] | Int32Array<ArrayBufferLike> |
offsetsOffset | number |
drawcount | number |
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.
Parameters
| Parameter | Type |
|---|---|
mode | number |
countsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
countsOffset | number |
type | number |
offsetsList | | Iterable<number, any, any> | Int32Array<ArrayBufferLike> |
offsetsOffset | number |
drawcount | number |
Returns
void