WebGLRenderingContext: framebufferRenderbuffer() 方法
注意:此功能在 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.FRAMEBUFFER、gl.DRAW_FRAMEBUFFER或gl.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 |
浏览器兼容性
加载中…