WebGLRenderingContext: framebufferRenderbuffer() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.framebufferRenderbuffer() 方法是 WebGL API 的一部分,它將一個 WebGLRenderbuffer 物件附加到一個 WebGLFramebuffer 物件上。

語法

js
framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)

引數

目標

一個 GLenum,指定幀緩衝區的繫結點(目標)。可能的值

gl.FRAMEBUFFER

用於渲染影像的顏色、Alpha、深度和模板緩衝區的集合緩衝區資料儲存。

使用 WebGL 2 上下文時,還可以使用以下值:

gl.DRAW_FRAMEBUFFER

相當於 gl.FRAMEBUFFER。用作繪圖、渲染、清除和寫入操作的目標。

gl.READ_FRAMEBUFFER

用作讀取操作的源。

attachment

一個 GLenum,指定渲染緩衝區的附件點。可能的值

  • gl.COLOR_ATTACHMENT0:顏色緩衝區。
  • gl.DEPTH_ATTACHMENT:深度緩衝區。
  • gl.DEPTH_STENCIL_ATTACHMENT: 深度和模板緩衝區。
  • gl.STENCIL_ATTACHMENT:模板緩衝區。

使用 WebGL 2 上下文時,還可以使用以下值:

  • gl.COLOR_ATTACHMENT1 gl.COLOR_ATTACHMENT2 gl.COLOR_ATTACHMENT3 gl.COLOR_ATTACHMENT4 gl.COLOR_ATTACHMENT5 gl.COLOR_ATTACHMENT6 gl.COLOR_ATTACHMENT7 gl.COLOR_ATTACHMENT8 gl.COLOR_ATTACHMENT9 gl.COLOR_ATTACHMENT10 gl.COLOR_ATTACHMENT11 gl.COLOR_ATTACHMENT12 gl.COLOR_ATTACHMENT13 gl.COLOR_ATTACHMENT14 gl.COLOR_ATTACHMENT15

使用 WEBGL_draw_buffers 擴充套件時

  • ext.COLOR_ATTACHMENT0_WEBGL(與 gl.COLOR_ATTACHMENT0 相同)
  • ext.COLOR_ATTACHMENT1_WEBGL ext.COLOR_ATTACHMENT2_WEBGL ext.COLOR_ATTACHMENT3_WEBGL ext.COLOR_ATTACHMENT4_WEBGL ext.COLOR_ATTACHMENT5_WEBGL ext.COLOR_ATTACHMENT6_WEBGL ext.COLOR_ATTACHMENT7_WEBGL ext.COLOR_ATTACHMENT8_WEBGL ext.COLOR_ATTACHMENT9_WEBGL ext.COLOR_ATTACHMENT10_WEBGL ext.COLOR_ATTACHMENT11_WEBGL ext.COLOR_ATTACHMENT12_WEBGL ext.COLOR_ATTACHMENT13_WEBGL ext.COLOR_ATTACHMENT14_WEBGL ext.COLOR_ATTACHMENT15_WEBGL
renderbuffertarget

一個 GLenum,指定渲染緩衝區的繫結點(目標)。可能的值

gl.RENDERBUFFER

為具有可渲染內部格式的單個影像提供緩衝區資料儲存。

renderbuffer

要附加的 WebGLRenderbuffer 物件。

返回值

無(undefined)。

異常

  • 如果 target 不是 gl.FRAMEBUFFERgl.DRAW_FRAMEBUFFERgl.READ_FRAMEBUFFER,則會丟擲 gl.INVALID_ENUM 錯誤。
  • 如果 renderbuffertarget 不是 gl.RENDERBUFFER,則會丟擲 gl.INVALID_ENUM 錯誤。
  • 如果 attachment 不是允許的列舉之一,則會丟擲 gl.INVALID_ENUM 錯誤。

示例

js
gl.framebufferRenderbuffer(
  gl.FRAMEBUFFER,
  gl.COLOR_ATTACHMENT0,
  gl.RENDERBUFFER,
  renderbuffer,
);

規範

規範
WebGL 規範
# 5.14.6

瀏覽器相容性

另見