WebGL2RenderingContext.drawBuffers()

Experimental: 这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

WebGL 2 APIWebGL2RenderingContext.drawBuffers()  方法定义了将写入零散数据(fragment colors)的绘制缓存(draw buffer)。绘制缓存设置了上一次绑定帧缓存状态,如果没有帧缓存可用的话,则用绘制缓存。

语法

void gl.drawBuffers(buffers);

参数

buffers
一个 GLenum (en-US)Array} 对碎片颜色的说明将被写入缓冲区。可能的值有:
  • gl.NONE: 碎片着色器的输出没有被写入到任何颜色缓存中。
  • gl.BACK: 碎片着色器的输出被写入到返回的颜色缓存中。
  • gl.COLOR_ATTACHMENT{0-15}: 碎片着色器的输出被写入当前帧缓存的第n个颜色缓存中。Fragment shader output is written in the nth color attachment of the current framebuffer.

返回值

没有。

报错信息

  • 如果 buffers 包含了不止一个合法值,  gl.INVALID_ENUM错误会被抛出

例子

gl.drawBuffers([gl.NONE, gl.COLOR_ATTACHMENT1]);

详情

详情 状态 用法(Comment)
WebGL 2.0
drawBuffers
Editor's Draft Initial definition for WebGL.
OpenGL ES 3.0
glDrawBuffers
Standard Man page of the (similar) OpenGL API.

浏览器兼容性

No compatibility data found for api/WebGL2RenderingContext.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

详见