WEBGL_draw_buffers: метод drawBuffersWEBGL()
Ограниченная доступность
Эта функция не относится к Baseline, так как не работает в некоторых из наиболее широко используемых браузеров.
Метод WEBGL_draw_buffers.drawBuffersWEBGL() является частью WebGL API и позволяет определить буферы отрисовки, в которые записываются все цвета фрагментов.
Этот метод является частью расширения WEBGL_draw_buffers.
Примечание: При использовании WebGL2, этот метод доступен как gl.drawBuffers() по умолчанию, и константы называются gl.COLOR_ATTACHMENT1 и т.д. без суффикса "WEBGL".
Синтаксис
drawBuffersWEBGL(buffers)
Параметры
buffers-
Массив
ArrayконстантGLenum, определяющих буферы отрисовки. Возможные значения:-
gl.NONE: Фрагментный шейдер не записывается ни в один буфер цвета. -
gl.BACK: Фрагментный шейдер записывается в буфер заднего плана. -
ext.COLOR_ATTACHMENT0_WEBGLФрагментный шейдер записывается в n-й цветовой прикрепление фреймбуфера. ext.COLOR_ATTACHMENT1_WEBGLext.COLOR_ATTACHMENT2_WEBGLext.COLOR_ATTACHMENT3_WEBGLext.COLOR_ATTACHMENT4_WEBGLext.COLOR_ATTACHMENT5_WEBGLext.COLOR_ATTACHMENT6_WEBGLext.COLOR_ATTACHMENT7_WEBGLext.COLOR_ATTACHMENT8_WEBGLext.COLOR_ATTACHMENT9_WEBGLext.COLOR_ATTACHMENT10_WEBGLext.COLOR_ATTACHMENT11_WEBGLext.COLOR_ATTACHMENT12_WEBGLext.COLOR_ATTACHMENT13_WEBGLext.COLOR_ATTACHMENT14_WEBGLext.COLOR_ATTACHMENT15_WEBGL
-
Возвращаемое значение
None (undefined).
Примеры
См. WEBGL_draw_buffers для более подробного контекста с этим примером кода.
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] ]);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
drawBuffersWEBGL |
36 | 17 | 28 | 23 | 9 | Нет | Нет | Нет | 15 | Нет | Нет |
См. также
WEBGL_draw_buffersWebGLRenderingContext.getExtension()WebGLRenderingContext.framebufferRenderbuffer()WebGLRenderingContext.framebufferTexture2D()WebGLRenderingContext.getFramebufferAttachmentParameter()WebGLRenderingContext.getParameter()- Блог Mozilla Hacks: WebGL отложенное шейдерное программирование
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL