Я пишу игру и редактор карт, используя Java и jMonkeyEngine. В редакторе карт, я сделал кисть с помощью каркасной сферы. Моя проблема: я хочу сделать его видимым везде, поэтому я хочу инвертировать цвет пикселя «позади» этой кисти. Я хотел сделать это с фрагментным шейдером (GLSL), но я не знаю, как получить цвет этого пикселя.
10
Ответы:
Быстрый и простой способ сделать это - использовать стандартное уравнение смешивания со следующими параметрами:
Если
src
это исходный цвет (тот из вашего нового объекта) иdst
цвет назначения (тот, который находится в кадровом буфере), он вычислит новый цвет следующим образом:Так что вам просто нужно установить
src = 1
, т.е. белый, и вы получите обратное видео. Фрагмент шейдера GLSL будет:источник