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 |
瀏覽器相容性
載入中…