WebGLRenderingContext.framebufferRenderbuffer()
framebufferRenderbuffer方法连接一个WebGLRenderbuffer对象到WebGLFramebuffer对象。
语法
void gl.framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
参数
target
GLenum类型,指定framebuffer的绑定点。可能的值有:
gl.FRAMEBUFFER:缓冲区数据储存,是渲染一张图片使用的颜色、alpha、深度和模板缓冲区的集合。
当使用WebGL 2上下文时,下列的值可额外被使用:
gl.DRAW_FRAMEBUFFER:与 gl.FRAMEBUFFER 等同,用作绘画、渲染、清除和写入作业的目标(destination)。
gl.READ_FRAMEBUFFER:用作读取作业的源(source)。
attachment
GLenum类型,指定渲染缓冲区的关联点。可能的值有:
gl.COLOR_ATTACHMENT0:颜色缓冲区
gl.DEPTH_ATTACHMENT:深度缓冲区
gl.STENCIL_ATTACHMENT:模板缓冲区
当使用WebGL 2上下文时,下列的值可额外被使用:
gl.DEPTH_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对象
返回值
无
提示
如果目标不是gl.FRAMEBUFFER,gl.DRAW_FRAMEBUFFER,或gl.READ_FRAMEBUFFER。gl.INVALID_ENUM错误将会被抛出。
如果 renderbuffertarget不是gl.RENDERBUFFER,gl.INVALID_ENUM错误将会被抛出。
gl.INVALID_ENUM错误被抛出,当attachment不是被允许的enums。
例子
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, renderbuffer);
规范
浏览器兼容
Desktop:Chrome 9、 Edge 12、Firefox 4.0 、 Internet Explorer 11 、Opera 12、Safari 5.1;
Mobile: Android ?、 Chrome for Android 25、 Firefox Mobile 4.0、Firefox OS 1.0、 IE Mobile ?、 Opera Mobile 12、 Safari Mobile 8.0;
Chrome、FireFox 发行版本需要在偏好设置启用WebGL2。