OES_draw_buffers_indexed: метод blendEquationSeparateiOES()
Базовая версия 2022
Новое
С декабря 2022 года эта функция работает на последних устройствах и версиях браузеров. Возможно, эта функция не будет работать на более старых устройствах или браузерах.
Метод blendEquationSeparateiOES() расширения WebGL OES_draw_buffers_indexed устанавливает уравнения смешивания RGB и альфа отдельно для конкретного буфера отрисовки.
См. OES_draw_buffers_indexed.blendEquationiOES() для установки уравнений RGB и альфа вместе и WebGLRenderingContext.blendEquationSeparate() для версии этого метода в WebGL 1.
Синтаксис
blendEquationSeparateiOES(buf, modeRGB, modeAlpha)
Параметры
buf-
Целое число
i, определяющее буфер отрисовки, связанный с константойgl.DRAW_BUFFERi, см. константы буфера отрисовки WebGL. modeRGB-
GLenum, определяющий, как комбинируются исходные и целевые цветовые компоненты RGB. Принимает те же перечисления, что и параметрmodeRGBвWebGLRenderingContext.blendEquationSeparate(). modeAlpha-
GLenum, определяющий, как комбинируются исходные и целевые цветовые компоненты альфа. Принимает те же перечисления, что и параметрmodeAlphaвWebGLRenderingContext.blendEquationSeparate().
Возвращаемое значение
Ничего (undefined).
Исключения
- Если
bufне является допустимым значением, выбрасывается ошибкаgl.INVALID_VALUE. - Если
modeRGBилиmodeAlphaне установлены в одно из возможных значений, выбрасывается ошибкаgl.INVALID_ENUM.
Примеры
Установка и получение уравнений смешивания
Следующее устанавливает уравнения смешивания для буферов отрисовки gl.DRAW_BUFFER0 (вызов, где buf равно 0) и gl.DRAW_BUFFER1 (вызов, где buf равно 1).
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.blendEquationSeparateiOES(0, gl.FUNC_ADD, gl.FUNC_SUBTRACT);
ext.blendEquationSeparateiOES(1, gl.FUNC_ADD, gl.FUNC_SUBTRACT);
Для получения уравнений смешивания для gl.DRAW_BUFFER0 и gl.DRAW_BUFFER1, запрос констант BLEND_EQUATION_RGB и BLEND_EQUATION_ALPHA с помощью WebGL2RenderingContext.getIndexedParameter():
// For gl.DRAW_BUFFER0 gl.getIndexedParameter(gl.BLEND_EQUATION_RGB, 0); gl.getIndexedParameter(gl.BLEND_EQUATION_ALPHA, 0); // for gl.DRAW_BUFFER1 gl.getIndexedParameter(gl.BLEND_EQUATION_RGB, 1); gl.getIndexedParameter(gl.BLEND_EQUATION_ALPHA, 1);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
blendEquationSeparateiOES |
100 | 100 | 108 | 86 | 16 | 100 | 108 | 69 | 16 | 19.0 | 100 |
См. также
© 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/OES_draw_buffers_indexed/blendEquationSeparateiOES