files/en-us/web/api/webglrenderingcontext/bindframebuffer/index.md
{{APIRef("WebGL")}}{{AvailableInWorkers}}
The WebGLRenderingContext.bindFramebuffer() method of the
WebGL API binds to the specified target the provided {{domxref("WebGLFramebuffer")}}, or, if the framebuffer argument is null, the default {{domxref("WebGLFramebuffer")}}, which is associated with the canvas rendering context.
bindFramebuffer(target, framebuffer)
target
: A {{domxref("WebGL_API/Types", "GLenum")}} specifying the binding point (target). Possible values:
gl.FRAMEBUFFER
When using a {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values are available additionally:
gl.DRAW_FRAMEBUFFER
gl.draw*, gl.clear* and gl.blitFramebuffer.gl.READ_FRAMEBUFFER
gl.readPixels and gl.blitFramebuffer.framebuffer
null for binding the {{domxref("HTMLCanvasElement")}} or {{domxref("OffscreenCanvas")}} object associated with the rendering context.None ({{jsxref("undefined")}}).
A gl.INVALID_ENUM error is thrown if target is not
gl.FRAMEBUFFER, gl.DRAW_FRAMEBUFFER, or
gl.READ_FRAMEBUFFER.
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
To check the current frame buffer binding, query the FRAMEBUFFER_BINDING
constant.
gl.getParameter(gl.FRAMEBUFFER_BINDING);
{{Specifications}}
{{Compat}}