mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-07 10:59:49 +00:00
30 lines
702 B
Plaintext
30 lines
702 B
Plaintext
shader_type canvas_item;
|
|
render_mode unshaded;
|
|
|
|
uniform sampler2D selection : filter_nearest, hint_default_black;
|
|
uniform vec4 color;
|
|
uniform float similarity_percent : hint_range(0.0, 100.0);
|
|
uniform int operation = 0; // 0 = add, 1 = subtract, 2 = intersect
|
|
|
|
void fragment() {
|
|
vec4 original_color = texture(TEXTURE, UV);
|
|
float diff = distance(original_color, color);
|
|
float similarity = abs(2.0 - ((similarity_percent/100.0) * 2.0));
|
|
vec4 col = texture(selection, UV);
|
|
if (col.rgb == vec3(0.0))
|
|
col.a = 0.0;
|
|
|
|
if (diff <= similarity)
|
|
{
|
|
if (operation == 0)
|
|
col = vec4(1.0);
|
|
else if (operation == 1)
|
|
col = vec4(0.0);
|
|
}
|
|
else
|
|
if (operation == 2)
|
|
col = vec4(0.0);
|
|
|
|
COLOR = col;
|
|
}
|