the-third-place/shaders/flash_screen.gdshader
2026-03-07 14:13:15 +00:00

15 lines
566 B
Text

shader_type canvas_item;
uniform vec4 flash_color : source_color = vec4(1.0, 0.0, 0.0, 1.0);
uniform float intensity : hint_range(0.0, 1.0) = 0.0;
uniform float edge_power : hint_range(0.1, 4.0) = 2.5;
uniform float inner_ratio : hint_range(0.0, 1.0) = 0.75;
uniform float feather : hint_range(0.01, 1.0) = 0.4;
void fragment() {
vec2 uv = UV * 2.0 - 1.0;
float dist = length(uv);
float a = smoothstep(inner_ratio, inner_ratio + feather, dist);
a = pow(a, edge_power);
COLOR = vec4(flash_color.rgb, a * flash_color.a * intensity);
}