Spec-Zone.ru › Web APIs

OES_draw_buffers_indexed: blendFuncSeparateiOES() метод

Базовая линия 2022
Новое

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

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

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

См. OES_draw_buffers_indexed.blendFunciOES() для настройки RGB и альфа вместе и WebGLRenderingContext.blendFuncSeparate() для версии этого метода в WebGL 1.

Синтаксис

blendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha)

Параметры

buf

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

srcRGB

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

dstRGB

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

srcAlpha

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

dstAlpha

GLenum, определяющий множитель для альфа-коэффициента целевого смешивания. Принимает те же перечисления, что и параметр srcAlpha в WebGLRenderingContext.blendFuncSeparate().

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

Ничего (undefined).

Исключения

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

Примеры

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

Следующее устанавливает функции смешивания для буферов отрисовки gl.DRAW_BUFFER0 (вызов, где buf равно 0) и gl.DRAW_BUFFER1 (вызов, где buf равно 1).

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

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

Чтобы получить функции смешивания для буферов отрисовки 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
blendFuncSeparateiOES 100 100 108 86 16 100 108 69 16 19.0 100

См. также

  • OES_draw_buffers_indexed.blendFunciOES()
  • WebGLRenderingContext.blendFuncSeparate()

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

Spec-Zone.ru

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