WebGLRenderingContext.bindFramebuffer()

WebGL API 的 WebGLRenderingContext.bindFramebuffer() 方法将给定的 WebGLFramebuffer 绑定到目标。

语法

void gl.bindFramebuffer(target, framebuffer);

参数

target
GLenum 指定绑定点(目标)。可能的值为:
  • gl.FRAMEBUFFER: 收集用于渲染图像的颜色,alpha,深度和模板缓冲区的缓冲区数据存储。
  • 当使用 WebGL 2 context 时,可以使用以下值:
    • gl.DRAW_FRAMEBUFFER: 相当于gl.FRAMEBUFFER, 用作绘图,渲染,清除和写入操作。
    • gl.READ_FRAMEBUFFER: 用作读取操作的资源。
framebuffer
要绑定的 WebGLFramebuffer 对象。

返回值

None.

异常

如果目标不是 gl.FRAMEBUFFERgl.DRAW_FRAMEBUFFERgl.READ_FRAMEBUFFER ,则抛出 gl.INVALID_ENUM 错误。

示例

绑定帧缓冲区

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

gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);

获取当前绑定

要检查当前帧缓冲区绑定,请查询 FRAMEBUFFER_BINDING 常量。

gl.getParameter(gl.FRAMEBUFFER_BINDING);

规范

Specification Status Comment
WebGL 1.0
bindFramebuffer
Recommendation WebGL初始定义.
OpenGL ES 2.0
glBindFramebuffer
Standard OpenGL API手册.
WebGL 2.0
bindFrameBuffer
Editor's Draft WebGL 2更新定义.
新增: gl.DRAW_FRAMEBUFFERgl.READ_FRAMEBUFFER
OpenGL ES 3.0
glBindFramebuffer
Standard OpenGL ES 3 API手册(类似).

浏览器兼容性

No compatibility data found. Please contribute data for "api/WebGLRenderingContext" (depth: WebGLRenderingContext.bindFramebuffer) to the MDN compatibility data repository.

另见