WebGLRenderingContext: bindFramebuffer() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
The WebGLRenderingContext.bindFramebuffer()
method of the
WebGL API binds to the specified target the provided WebGLFramebuffer
, or, if the framebuffer
argument is null, the default WebGLFramebuffer
, which is associated with the canvas rendering context.
Syntax
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*
andgl.blitFramebuffer
. gl.READ_FRAMEBUFFER
-
Used as a source for reading operations such as
gl.readPixels
andgl.blitFramebuffer
.
framebuffer
-
A
WebGLFramebuffer
object to bind, ornull
for binding theHTMLCanvasElement
orOffscreenCanvas
object associated with the rendering context.
Return value
None (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
Specification |
---|
WebGL Specification # 5.14.6 |
WebGL 2.0 Specification # 3.7.1 |
Browser compatibility
BCD tables only load in the browser