WebGLRenderingContext.bindFramebuffer()

The WebGLRenderingContext.bindFramebuffer() method of the WebGL API binds a given WebGLFramebuffer to a target.

Syntax

void gl.bindFramebuffer(target, framebuffer);

Parameters

target

A GLenum specifying the binding point (target). Possible values:

  • gl.FRAMEBUFFER: Collection buffer data storage of color, alpha, depth and stencil buffers used as both a destination for drawing and as a source for reading (see below).
  • When using a WebGL 2 context, the following values are available additionally:
    • gl.DRAW_FRAMEBUFFER: Used as a destination for drawing operations such as gl.draw*, gl.clear* and gl.blitFramebuffer.
    • gl.READ_FRAMEBUFFER: Used as a source for reading operations such as gl.readPixels and gl.blitFramebuffer
framebuffer

A WebGLFramebuffer object to bind. If framebuffer is null, then the canvas (which has no WebGLFramebuffer object) is bound.

Return value

None.

Exceptions

A gl.INVALID_ENUM error is thrown if target is not gl.FRAMEBUFFER, gl.DRAW_FRAMEBUFFER, or gl.READ_FRAMEBUFFER.

Examples

Binding a frame buffer

var canvas = document.getElementById('canvas');
var gl = canvas.getContext('webgl');
var framebuffer = gl.createFramebuffer();

gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);

Getting current bindings

To check the current frame buffer binding, query the FRAMEBUFFER_BINDING constant.

gl.getParameter(gl.FRAMEBUFFER_BINDING);

Specifications

Specification
WebGL Specification
# 5.14.6
WebGL 2.0 Specification
# 3.7.1

Browser compatibility

BCD tables only load in the browser

See also