The WebGLRenderingContext.bindFramebuffer() method of the WebGL API binds a given WebGLFramebuffer to a target.
void gl.bindFramebuffer(target, framebuffer);
GLenum specifying the binding point (target). Possible values: gl.FRAMEBUFFER: Collection buffer data storage of color, alpha, depth and stencil buffers used to render an image.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.WebGLFramebuffer object to bind.None.
A gl.INVALID_ENUM error is thrown if target is not gl.FRAMEBUFFER, gl.DRAW_FRAMEBUFFER, or gl.READ_FRAMEBUFFER.
var canvas = document.getElementById('canvas');
var gl = canvas.getContext('webgl');
var 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);
| Specification | Status | Comment |
|---|---|---|
| WebGL 1.0 The definition of 'bindFramebuffer' in that specification. | Recommendation | Initial definition for WebGL. |
| OpenGL ES 2.0 The definition of 'glBindFramebuffer' in that specification. | Standard | Man page of the OpenGL API. |
| WebGL 2.0 The definition of 'bindFrameBuffer' in that specification. | Editor's Draft | Updated definition for WebGL 2. Adds: gl.DRAW_FRAMEBUFFER and gl.READ_FRAMEBUFFER
|
| OpenGL ES 3.0 The definition of 'glBindFramebuffer' in that specification. | Standard | Man page of the (similar) OpenGL ES 3 API. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 9 | 12 | 4 | 11 | 12 | 5.1 |
WebGL2 |
56 | No | 51 | No | 43 | No |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | Yes | 25 | Yes | Yes | 12 | 8.1 | Yes |
WebGL2 |
58 | 58 | No | 51 | 43 | No | 7.0 |
WebGLRenderingContext.createFramebuffer()WebGLRenderingContext.deleteFramebuffer()WebGLRenderingContext.isFramebuffer()WebGLBuffer, WebGLRenderbuffer
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bindFramebuffer