WebGLRenderingContext: checkFramebufferStatus() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.checkFramebufferStatus() 方法是 WebGL API 的一部分,用於返回 WebGLFramebuffer 物件的完整性狀態。
語法
js
checkFramebufferStatus(target)
引數
目標-
一個
GLenum,指定繫結點(目標)。可能的值gl.FRAMEBUFFER-
用於渲染影像的顏色、Alpha、深度和模板緩衝區的集合緩衝區資料儲存。
使用 WebGL 2 上下文時,還可以使用以下值:
gl.DRAW_FRAMEBUFFER-
相當於
gl.FRAMEBUFFER。用作繪圖、渲染、清除和寫入操作的目標。 gl.READ_FRAMEBUFFER-
用作讀取操作的源。
返回值
一個 GLenum 值,表示幀緩衝區的完整性狀態,如果發生錯誤則返回 0。可能的列舉返回值
-
gl.FRAMEBUFFER_COMPLETE: 幀緩衝區已準備好顯示。 -
gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT: 附件型別不匹配,或者並非所有幀緩衝區附件點都完成了幀緩衝區附件。 -
gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: 沒有附件。 -
gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS: 附件的高度和寬度不相同。 -
gl.FRAMEBUFFER_UNSUPPORTED: 附件的格式不受支援,或者深度和模板附件不是同一個渲染緩衝區。 -
在使用 WebGL 2 context 時,還可以返回以下值:
gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: 附件渲染緩衝區的gl.RENDERBUFFER_SAMPLES值不同,或者當附件影像是渲染緩衝區和紋理的混合時,這些值非零。
-
在使用
OVR_multiview2擴充套件時,還可以返回以下值:ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: 如果所有值FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE不為NONE的幀緩衝區附件點的baseViewIndex不相同,則認為幀緩衝區不完整。
示例
js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();
// …
gl.checkFramebufferStatus(gl.FRAMEBUFFER);
規範
| 規範 |
|---|
| WebGL 規範 # 5.14.6 |
| WebGL 2.0 規範 # 3.7.4 |
瀏覽器相容性
載入中…