1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-23 22:13:14 +00:00
Pixelorama/src/Shaders/Invert.shader
Darshan Phaldesai dca76afe17
Shader based invert, desaturate and HSV dialogs (#475)
* Shader based invert, desaturate and HSV dialogs

* Bug fixes
2021-04-21 05:31:33 -07:00

34 lines
No EOL
755 B
GLSL

shader_type canvas_item;
render_mode unshaded;
uniform bool red;
uniform bool blue;
uniform bool green;
uniform bool alpha;
uniform sampler2D selection;
uniform bool affect_selection;
uniform bool has_selection;
void fragment() {
// Get color from the sprite texture at the current pixel we are rendering
vec4 original_color = texture(TEXTURE, UV);
vec4 selection_color = texture(selection, UV);
vec4 col = original_color;
if (red)
col.r = 1f - col.r;
if (green)
col.g = 1f - col.g;
if (blue)
col.b = 1f - col.b;
if (alpha)
col.a = 1f - col.a;
vec4 output;
if(affect_selection && has_selection)
output = mix(original_color.rgba, col, selection_color.a);
else
output = col;
COLOR = output;
}