WebGLRenderingContext: bindFramebuffer() method
{{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.
Syntax
bindFramebuffer(target, framebuffer)
Parameters
-
target-
: A
{{domxref("WebGL_API/Types", "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
{{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values are available additionally:gl.DRAW_FRAMEBUFFER- : Used as a destination for drawing operations such as
gl.draw*,gl.clear*andgl.blitFramebuffer.
- : Used as a destination for drawing operations such as
gl.READ_FRAMEBUFFER- : Used as a source for reading operations such as
gl.readPixelsandgl.blitFramebuffer.
- : Used as a source for reading operations such as
-
-
framebuffer- : A
{{domxref("WebGLFramebuffer")}}object to bind, ornullfor binding the{{domxref("HTMLCanvasElement")}}or{{domxref("OffscreenCanvas")}}object associated with the rendering context.
- : A
Return value
None ({{jsxref("undefined")}} ).
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
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const 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
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{domxref("WebGLRenderingContext.createFramebuffer()")}}{{domxref("WebGLRenderingContext.deleteFramebuffer()")}}{{domxref("WebGLRenderingContext.isFramebuffer()")}}- Other buffers:
{{domxref("WebGLBuffer")}},{{domxref("WebGLRenderbuffer")}}