WebGLRenderingContext.framebufferRenderbuffer()

The WebGLRenderingContext.framebufferRenderbuffer() method of the WebGL API attaches a WebGLRenderbuffer object to a WebGLFramebuffer object.

Syntax

JavaScript
void <var>gl</var>.framebufferRenderbuffer(<var>target</var>, <var>attachment</var>, <var>renderbuffertarget</var>, <var>renderbuffer</var>);

Parameters

target
A GLenum specifying the binding point (target) for the framebuffer. Possible values:
  • gl.FRAMEBUFFER: Collection buffer data storage of color, alpha, depth and stencil buffers used to render an image.
  • When using a WebGL 2 context, the following values are available additionally:
    • gl.DRAW_FRAMEBUFFER: Equivalent to gl.FRAMEBUFFER. Used as a destination for drawing, rendering, clearing, and writing operations.
    • gl.READ_FRAMEBUFFER: Used as a source for reading operations.
attachment
A GLenum specifying the attachment point for the render buffer. Possible values:
  • gl.COLOR_ATTACHMENT0: color buffer.
  • gl.DEPTH_ATTACHMENT: depth buffer.
  • gl.STENCIL_ATTACHMENT: stencil buffer.
  • When using a WebGL 2 context, the following values are available additionally:
    • gl.DEPTH_STENCIL_ATTACHMENT: depth and stencil buffer.
    • gl.COLOR_ATTACHMENT1<br>
           gl.COLOR_ATTACHMENT2<br>
           gl.COLOR_ATTACHMENT3<br>
           gl.COLOR_ATTACHMENT4<br>
           gl.COLOR_ATTACHMENT5<br>
           gl.COLOR_ATTACHMENT6<br>
           gl.COLOR_ATTACHMENT7<br>
           gl.COLOR_ATTACHMENT8<br>
           gl.COLOR_ATTACHMENT9<br>
           gl.COLOR_ATTACHMENT10<br>
           gl.COLOR_ATTACHMENT11<br>
           gl.COLOR_ATTACHMENT12<br>
           gl.COLOR_ATTACHMENT13<br>
           gl.COLOR_ATTACHMENT14<br>
           gl.COLOR_ATTACHMENT15
  • When using the WEBGL_draw_buffers extension:
    • ext.COLOR_ATTACHMENT0_WEBGL (same as gl.COLOR_ATTACHMENT0)
      ext.COLOR_ATTACHMENT1_WEBGL<br>
           ext.COLOR_ATTACHMENT2_WEBGL<br>
           ext.COLOR_ATTACHMENT3_WEBGL<br>
           ext.COLOR_ATTACHMENT4_WEBGL<br>
           ext.COLOR_ATTACHMENT5_WEBGL<br>
           ext.COLOR_ATTACHMENT6_WEBGL<br>
           ext.COLOR_ATTACHMENT7_WEBGL<br>
           ext.COLOR_ATTACHMENT8_WEBGL<br>
           ext.COLOR_ATTACHMENT9_WEBGL<br>
           ext.COLOR_ATTACHMENT10_WEBGL<br>
           ext.COLOR_ATTACHMENT11_WEBGL<br>
           ext.COLOR_ATTACHMENT12_WEBGL<br>
           ext.COLOR_ATTACHMENT13_WEBGL<br>
           ext.COLOR_ATTACHMENT14_WEBGL<br>
           ext.COLOR_ATTACHMENT15_WEBGL
renderbuffertarget
A GLenum specifying the binding point (target) for the render buffer. Possible values:
  • gl.RENDERBUFFER: Buffer data storage for single images in a renderable internal format.
renderbuffer
A WebGLRenderbuffer object to attach.

Return value

None.

Exceptions

  • A gl.INVALID_ENUM error is thrown if target is not gl.FRAMEBUFFER, gl.DRAW_FRAMEBUFFER, or gl.READ_FRAMEBUFFER.
  • A gl.INVALID_ENUM error is thrown if renderbuffertarget is not gl.RENDERBUFFER.
  • A gl.INVALID_ENUM error is thrown if attachment is not one of the allowed enums.

Examples

JavaScript
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, renderbuffer);

Specifications

Specification Status Comment
WebGL 1.0
The definition of 'framebufferRenderbuffer' in that specification.
Recommendation Initial definition for WebGL.
OpenGL ES 2.0
The definition of 'glFramebufferRenderbuffer' in that specification.
Standard Man page of the (similar) OpenGL API.
OpenGL ES 3.0
The definition of 'glFramebufferRenderbuffer' in that specification.
Standard Man page of the (similar) OpenGL ES 3 API.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 9 12 4.0 (2.0) 11 12 5.1
WebGL 2 No support [2] No support Nightly build [1] No support No support No support
Feature Android Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support ? 25 4.0 (2.0) 1.0 ? 12 8.0
WebGL 2 No support No support No support No support No support No support No support

[1] WebGL 2 is enabled by default in Firefox Nightly. To enable it in a release version of Firefox, set the preference webgl.enable-prototype-webgl2 to true in about:config.

[2] To use an experimental implementation of WebGL 2 in Chrome, you have to start Chrome with the runtime flag --enable-unsafe-es3-apis.

See also

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/webglrenderingcontext/framebufferrenderbuffer

API Method Reference WebGL WebGLRenderingContext