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
ofGLenum
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 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 |
---|
WebGL WEBGL_draw_buffers Khronos Ratified Extension Specification (WebGL WEBGL_draw_buffers Khronos Ratified Extension) |
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 | |
drawBuffersWEBGL |
36 |
17 |
28 |
No |
23 |
9 |
No |
No |
? |
No |
No |
No |
See also
WEBGL_draw_buffers
WebGLRenderingContext.getExtension()
WebGLRenderingContext.framebufferRenderbuffer()
WebGLRenderingContext.framebufferTexture2D()
WebGLRenderingContext.getFramebufferAttachmentParameter()
WebGLRenderingContext.getParameter()
- WebGL deferred shading - Mozilla Hacks blog
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL