Estou escrevendo um editor de jogos e mapas usando Java e jMonkeyEngine. No editor de mapas, eu tenho um pincel feito por uma esfera com estrutura de arame. Meu problema é: quero torná-lo visível em todos os lugares, portanto, quero inverter a cor do pixel "por trás" deste pincel. Eu queria fazer isso com o GLSL (fragment shader), mas não sei como obter a cor desse pixel.
10
Respostas:
A maneira rápida e fácil de fazer isso é usar a equação de mesclagem padrão com os seguintes parâmetros:
Se
src
for a cor de origem (a do seu novo objeto) edst
a cor de destino (a que estiver no buffer de moldura), ela calculará a nova cor da seguinte maneira:Então você só precisa definir
src = 1
, ou seja. branco, e você obterá vídeo inverso. O shader de fragmento GLSL será:fonte