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 |
浏览器兼容性
加载中…