--- title: WebGLRenderingContext.bindFramebuffer() slug: Web/API/WebGLRenderingContext/bindFramebuffer tags: - API - Method - Reference - WebGL - WebGLRenderingContext translation_of: Web/API/WebGLRenderingContext/bindFramebuffer ---
WebGL API 的 WebGLRenderingContext.bindFramebuffer() 方法将给定的 {{domxref("WebGLFramebuffer")}} 绑定到目标。
void gl.bindFramebuffer(target, framebuffer);
gl.FRAMEBUFFER: 收集用于渲染图像的颜色,alpha,深度和模板缓冲区的缓冲区数据存储。gl.DRAW_FRAMEBUFFER: 相当于gl.FRAMEBUFFER, 用作绘图,渲染,清除和写入操作。gl.READ_FRAMEBUFFER: 用作读取操作的资源。None.
如果目标不是 gl.FRAMEBUFFER ,gl.DRAW_FRAMEBUFFER 或 gl.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 |
|---|---|---|
| {{SpecName('WebGL', "#5.14.6", "bindFramebuffer")}} | {{Spec2('WebGL')}} | WebGL初始定义. |
| {{SpecName('OpenGL ES 2.0', "glBindFramebuffer.xml", "glBindFramebuffer")}} | {{Spec2('OpenGL ES 2.0')}} | OpenGL API手册. |
| {{SpecName('WebGL2', "#3.7.1", "bindFrameBuffer")}} | {{Spec2('WebGL2')}} | WebGL 2更新定义. 新增: gl.DRAW_FRAMEBUFFER 和 gl.READ_FRAMEBUFFER |
| {{SpecName('OpenGL ES 3.0', "glBindFramebuffer.xhtml", "glBindFramebuffer")}} | {{Spec2('OpenGL ES 3.0')}} | OpenGL ES 3 API手册(类似). |
{{Compat("api/WebGLRenderingContext", "WebGLRenderingContext.bindFramebuffer")}}