WEBGL_draw_buffers.drawBuffersWEBGL()

The WEBGL_draw_buffers.drawBuffersWEBGL() method is part of the WebGL API and allows you to define the draw buffers to which all fragment colors are written.

This method is part of the WEBGL_draw_buffers extension.

Note: When using WebGL2, this method is available as gl.drawBuffers() by default and the constants are named gl.COLOR_ATTACHMENT1 etc. without the "WEBGL" suffix.

Syntax

void gl.getExtension('WEBGL_draw_buffers').drawBuffersWEBGL(buffers);

Parameters

buffers
An Array of GLenum constants defining drawing buffers. Possible values:
  • gl.NONE: The fragment shader is not written to any color buffer.
  • gl.BACK: The fragment shader is written to the back color buffer.
  • ext.COLOR_ATTACHMENT0_WEBGL The fragment shader is written the the nth color attachment of the framebuffer.
  • ext.COLOR_ATTACHMENT1_WEBGL
  • ext.COLOR_ATTACHMENT2_WEBGL
  • ext.COLOR_ATTACHMENT3_WEBGL
  • ext.COLOR_ATTACHMENT4_WEBGL
  • ext.COLOR_ATTACHMENT5_WEBGL
  • ext.COLOR_ATTACHMENT6_WEBGL
  • ext.COLOR_ATTACHMENT7_WEBGL
  • ext.COLOR_ATTACHMENT8_WEBGL
  • ext.COLOR_ATTACHMENT9_WEBGL
  • ext.COLOR_ATTACHMENT10_WEBGL
  • ext.COLOR_ATTACHMENT11_WEBGL
  • ext.COLOR_ATTACHMENT12_WEBGL
  • ext.COLOR_ATTACHMENT13_WEBGL
  • ext.COLOR_ATTACHMENT14_WEBGL
  • ext.COLOR_ATTACHMENT15_WEBGL

Return value

None.

Examples

See WEBGL_draw_buffers for more context with this example code.

ext.drawBuffersWEBGL([
  ext.COLOR_ATTACHMENT0_WEBGL, // gl_FragData[0]
  ext.COLOR_ATTACHMENT1_WEBGL, // gl_FragData[1]
  ext.COLOR_ATTACHMENT2_WEBGL, // gl_FragData[2]
  ext.COLOR_ATTACHMENT3_WEBGL  // gl_FragData[3]
]);

Specifications

Specification Status Comment
WEBGL_draw_buffers
The definition of 'WEBGL_draw_buffers' in that specification.
Recommendation Initial definition.
OpenGL ES 3.0
The definition of 'glDrawBuffers' in that specification.
Standard Man page of the (similar) OpenGL API.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
drawBuffersWEBGLChrome Full support YesEdge Full support 17Firefox No support ? — 28
Prefixed Disabled
No support ? — 28
Prefixed Disabled
Prefixed Implemented with the vendor prefix: MOZ_
Disabled Until version 28 (exclusive): this feature is behind the webgl.enable-draft-extensions preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Full support 28
IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android ? Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also