WEBGL_draw_buffers.drawBuffersWEBGL()
method is part of the
WebGL API
and allows you to define the draw buffers to which all fragment colors are written.
This method is part of the
WEBGL_draw_buffers
extension.
注意:
当使用
WebGL2
, this method is available as
gl.drawBuffers()
by default and the constants are named
gl.COLOR_ATTACHMENT1
etc. without the "WEBGL" suffix.
void gl.getExtension('WEBGL_draw_buffers').drawBuffersWEBGL(buffers);
数组
of
GLenum
constants defining drawing buffers. Possible values:
gl.NONE
: The fragment shader is not written to any color buffer.
gl.BACK
: The fragment shader is written to the back color buffer.
ext.COLOR_ATTACHMENT0_WEBGL
The fragment shader is written the the
n
th color attachment of the framebuffer.
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
None.
见
WEBGL_draw_buffers
for more context with this example code.
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_draw_buffers
The definition of 'WEBGL_draw_buffers' in that specification. |
推荐 | 初始定义。 |
|
OpenGL ES 3.0
The definition of 'glDrawBuffers' in that specification. |
标准 | Man page of the (similar) OpenGL API. |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
更新 GitHub 上的兼容性数据| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
drawBuffersWEBGL
|
Chrome Yes | Edge 17 |
Firefox
? — 28
Prefixed
Disabled
|
IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android ? | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
完整支持
不支持
兼容性未知
用户必须明确启用此特征。
要求使用供应商前缀或不同名称。
WEBGL_draw_buffers
WebGLRenderingContext.getExtension()
WebGLRenderingContext.framebufferRenderbuffer()
,
WebGLRenderingContext.framebufferTexture2D()
,
WebGLRenderingContext.getFramebufferAttachmentParameter()
WebGLRenderingContext.getParameter()
WEBGL_draw_buffers
drawBuffersWEBGL()
ANGLE_instanced_arrays
EXT_blend_minmax
EXT_color_buffer_half_float
EXT_disjoint_timer_query
EXT_frag_depth
EXT_sRGB
EXT_shader_texture_lod
EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_float_linear
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBGL_color_buffer_float
WEBGL_compressed_texture_atc
WEBGL_compressed_texture_etc1
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_s3tc
WEBGL_compressed_texture_s3tc_srgb
WEBGL_debug_renderer_info
WEBGL_debug_shaders
WEBGL_depth_texture
WEBGL_lose_context
WebGL2RenderingContext
WebGLActiveInfo
WebGLBuffer
WebGLContextEvent
WebGLFramebuffer
WebGLObject
WebGLProgram
WebGLQuery
WebGLRenderbuffer
WebGLRenderingContext
WebGLSampler
WebGLShader
WebGLShaderPrecisionFormat
WebGLSync
WebGLTexture
WebGLTransformFeedback
WebGLUniformLocation
WebGLVertexArrayObject