Альтернативный подход для функции gl.blendFunci, которая отсутствует в спецификации WebGL - PullRequest
0 голосов
/ 08 июня 2018

Я занят преобразованием некоторых OpenGL в WebGL, но не могу найти обходной путь для функции OpenGL gl.BlendFunci(...) внутри WebGL.

Моя консоль браузера просто сообщает:

gl.blendFunci не является функцией

Что можно использовать в качестве альтернативы для установки различных функций смешивания при рисовании в несколько буферов?

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Для меня работала функция WebGL gl.blendFuncSeparate(...).

Даже если она не выполняет точно то, что делает BlendFunci(...), она все равно работала для меня, поскольку позволяла мне устанавливать rgb и alphaфункции смешивания отдельно.(что я и делал с BlendFunci(...) в любом случае)

Наш ответ был найден путем тщательного изучения этих двух файлов:

https://github.com/tsherif/webgl2examples/blob/master/oit.html

https://github.com/endavid/webGL-tests/blob/master/OIT/oit.js

0 голосов
/ 08 июня 2018

Ни в одной версии WebGL нет возможности устанавливать разные функции наложения для разных целей рендеринга кадрового буфера.OpenGL ES не предоставлял эту функциональность до ES 3.2, а также настольный GL до 4.0.Поэтому неудивительно, что вы можете выполнять рендеринг для нескольких целей, не имея возможности устанавливать разные параметры смешивания для каждого.

...