Spec-Zone.ru › Web APIs

OES_draw_buffers_indexed: метод blendFunciOES()

Базовая версия 2022
Новое

Начиная с декабря 2022 года, эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод blendFunciOES() расширения OES_draw_buffers_indexed WebGL определяет функцию, используемую при смешивании пикселей для конкретного буфера отрисовки.

См. OES_draw_buffers_indexed.blendFuncSeparateiOES() для задания RGB и альфа-компонентов отдельно и WebGLRenderingContext.blendFunc() для версии этого метода в WebGL 1.

Синтаксис

blendFunciOES(buf, src, dst)

Параметры

buf

Целое число i, определяющее буфер отрисовки, связанный с константой gl.DRAW_BUFFERi, см. константы буферов отрисовки WebGL.

src

GLenum, определяющий множитель для исходных факторов смешивания. Принимает те же перечисления, что и параметр sfactor в WebGLRenderingContext.blendFunc().

dst

GLenum, определяющий множитель для целевых факторов смешивания. Принимает те же перечисления, что и параметр dfactor в WebGLRenderingContext.blendFunc().

Возвращаемое значение

None (undefined).

Исключения

  • Если buf не является допустимым значением, выбрасывается ошибка gl.INVALID_VALUE.
  • Если src или dst не являются одним из возможных значений, выбрасывается ошибка gl.INVALID_ENUM.
  • Применяются те же ограничения на смешивание, что и для WebGLRenderingContext.blendFunc(): если постоянный цвет и постоянное альфа-значение используются вместе как исходные и целевые множители, выбрасывается ошибка gl.INVALID_ENUM.

Примеры

Установка и получение функций смешивания

Вы можете установить функции смешивания для буферов отрисовки gl.DRAW_BUFFER0 и gl.DRAW_BUFFER1 следующим образом:

const ext = gl.getExtension("OES_draw_buffers_indexed");

ext.blendFunciOES(0, gl.ONE, gl.ONE);
ext.blendFunciOES(1, gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);

Чтобы получить функции смешивания для буферов отрисовки gl.DRAW_BUFFER0 и gl.DRAW_BUFFER1, запросите константы BLEND_SRC_RGB, BLEND_SRC_ALPHA, BLEND_DST_RGB, и BLEND_DST_ALPHA с помощью WebGL2RenderingContext.getIndexedParameter():

// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_SRC_RGB, 0);
gl.getIndexedParameter(gl.BLEND_SRC_ALPHA, 0);
gl.getIndexedParameter(gl.BLEND_DST_RGB, 0);
gl.getIndexedParameter(gl.BLEND_DST_ALPHA, 0);

// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_SRC_RGB, 1);
gl.getIndexedParameter(gl.BLEND_SRC_ALPHA, 1);
gl.getIndexedParameter(gl.BLEND_DST_RGB, 1);
gl.getIndexedParameter(gl.BLEND_DST_ALPHA, 1);

Спецификации

Спецификация
Спецификация расширения WebGL OES_draw_buffers_indexed

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
blendFunciOES 100 100 108 86 16 100 108 69 16 19.0 100

См. также

  • OES_draw_buffers_indexed.blendFuncSeparateiOES()
  • WebGLRenderingContext.blendFunc()

© 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/blendFunciOES

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API