WEBGL_draw_buffers: drawBuffersWEBGL() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

WEBGL_draw_buffers.drawBuffersWEBGL() 方法是 WebGL API 的一部分,它允许您定义写入所有片段颜色的绘制缓冲区。

此方法是 WEBGL_draw_buffers 扩展的一部分。

注意: 使用 WebGL2 时,此方法默认可用作 gl.drawBuffers(),并且常量名称为 gl.COLOR_ATTACHMENT1 等,不带 "WEBGL" 后缀。

语法

js
drawBuffersWEBGL(buffers)

参数

buffers

一个 Array,包含定义绘制缓冲区的 GLenum 常量。可能的值:

  • gl.NONE:片段着色器未写入任何颜色缓冲区。
  • gl.BACK:片段着色器写入后颜色缓冲区。
  • ext.COLOR_ATTACHMENT0_WEBGL 片段着色器写入帧缓冲区的第 n 个颜色附件。
  • 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

返回值

无(undefined)。

示例

请参阅 WEBGL_draw_buffers 以获取此示例代码的更多上下文。

js
ext.drawBuffersWEBGL([
  ext.COLOR_ATTACHMENT0_WEBGL, // gl_FragData[0]
  ext.COLOR_ATTACHMENT1_WEBGL, // gl_FragData[1]
  ext.COLOR_ATTACHMENT2_WEBGL, // gl_FragData[2]
  ext.COLOR_ATTACHMENT3_WEBGL, // gl_FragData[3]
]);

规范

规范
WebGL WEBGL_draw_buffers Khronos 批准的扩展规范

浏览器兼容性

另见