WebGLRenderingContext: bindFramebuffer() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.bindFramebuffer() 方法是 WebGL API 的一部分,它将提供的 WebGLFramebuffer 绑定到指定的 目标。如果 framebuffer 参数为 null,则绑定与渲染上下文关联的默认 WebGLFramebuffer。
语法
js
bindFramebuffer(target, framebuffer)
参数
- 目标
- 
一个 GLenum,指定绑定点(目标)。可能的值- gl.FRAMEBUFFER
- 
用于收集颜色、Alpha、深度和模板缓冲区的缓冲区数据存储,这些缓冲区既可作为绘图目标,也可作为读取源(见下文)。 
 使用 WebGL 2 上下文时,还可以使用以下值: - gl.DRAW_FRAMEBUFFER
- 
用作绘图操作的目标,例如 gl.draw*、gl.clear*和gl.blitFramebuffer。
- gl.READ_FRAMEBUFFER
- 
用作读取操作的源,例如 gl.readPixels和gl.blitFramebuffer。
 
- framebuffer
- 
要绑定的 WebGLFramebuffer对象,或者当绑定与渲染上下文关联的HTMLCanvasElement或OffscreenCanvas对象时,为null。
返回值
无(undefined)。
异常
如果 target 不是 gl.FRAMEBUFFER、gl.DRAW_FRAMEBUFFER 或 gl.READ_FRAMEBUFFER,则会抛出 gl.INVALID_ENUM 错误。
示例
绑定帧缓冲区
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
获取当前绑定
要检查当前的帧缓冲区绑定,请查询 FRAMEBUFFER_BINDING 常量。
js
gl.getParameter(gl.FRAMEBUFFER_BINDING);
规范
| 规范 | 
|---|
| WebGL 规范 # 5.14.6 | 
| WebGL 2.0 规范 # 3.7.1 | 
浏览器兼容性
加载中…