cirnogodot/VFEZ/Shaders/Effects/vfez_chromatic_aberration.gdshaderinc
2025-03-09 15:58:26 +01:00

18 lines
No EOL
568 B
Text

group_uniforms chromatic_aberration;
uniform float chromatic_aberration_amount: hint_range(0.0, 1.0) = 1.;
uniform float chromatic_aberration_alpha: hint_range(0.0, 1.0) = 0.4;
group_uniforms;
vec4 chromatic_aberration(vec4 color, vec2 uv, sampler2D main_texture)
{
vec4 r = texture(main_texture,
uv + vec2(chromatic_aberration_amount / 10., 0.));
vec4 b = texture(main_texture,
uv + vec2(-chromatic_aberration_amount / 10., 0.));
color = vec4(r.r * r.a, color.g, b.b * b.a,
max(max(r.a, b.a) * chromatic_aberration_alpha, color.a));
return color;
}