2022-06-11 13:15:34 +00:00
|
|
|
shader_type canvas_item;
|
2022-06-11 21:27:59 +00:00
|
|
|
render_mode unshaded;
|
2022-06-11 13:15:34 +00:00
|
|
|
|
2023-11-21 23:06:25 +00:00
|
|
|
uniform sampler2D gradient_map : filter_nearest; // GradientTexture
|
2024-04-11 22:26:46 +00:00
|
|
|
uniform sampler2D selection : filter_nearest;
|
2022-06-11 13:15:34 +00:00
|
|
|
|
|
|
|
void fragment() {
|
|
|
|
vec4 original_color = texture(TEXTURE, UV);
|
|
|
|
vec4 selection_color = texture(selection, UV);
|
|
|
|
vec4 output = original_color;
|
|
|
|
float value = (0.2126 * original_color.r) + (0.7152 * original_color.g) + (0.0722 * original_color.b);
|
2023-11-21 23:06:25 +00:00
|
|
|
vec4 gradient_color = texture(gradient_map, vec2(value, 0.0));
|
2022-06-11 13:15:34 +00:00
|
|
|
output.rgb = gradient_color.rgb;
|
|
|
|
output.a *= gradient_color.a;
|
|
|
|
|
|
|
|
COLOR = mix(original_color, output, selection_color.a);
|
|
|
|
}
|