shader_type canvas_item;

uniform float transition : hint_range(0.0, 1.0) = 0.0;
uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest;

void fragment() {
	vec4 c = texture(screen_texture, SCREEN_UV);
	vec3 inverted = vec3(1.0) - c.rgb;
	COLOR.rgb = mix(c.rgb, inverted, vec3(transition));
}
