WebGLRenderingContext: framebufferRenderbuffer() 方法

基线 广泛可用

此功能已得到很好的建立,并且可以在许多设备和浏览器版本中使用。它自 2015 年 7 月.

报告反馈

语法

WebGLRenderingContext.framebufferRenderbuffer() 方法是 WebGL API 的一个方法,它将一个 WebGLRenderbuffer 对象附加到一个 WebGLFramebuffer 对象。
framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)

js

参数

target

一个 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:深度和模板缓冲区。

用于渲染图像的颜色、alpha、深度和模板缓冲区的集合缓冲区数据存储。

  • gl.STENCIL_ATTACHMENT:模板缓冲区。

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 错误。

示例

WebGLRenderingContext.framebufferRenderbuffer() 方法是 WebGL API 的一个方法,它将一个 WebGLRenderbuffer 对象附加到一个 WebGLFramebuffer 对象。
gl.framebufferRenderbuffer(
  gl.FRAMEBUFFER,
  gl.COLOR_ATTACHMENT0,
  gl.RENDERBUFFER,
  renderbuffer,
);

规范

如果 attachment 不是允许的枚举值之一,则会抛出 gl.INVALID_ENUM 错误。
规范
# 5.14.6

浏览器兼容性

WebGL 规范

另请参阅