Files
dauphincraft/shaders/godrays.gdshader
2026-04-19 17:10:17 +02:00

21 lines
636 B
Plaintext

shader_type canvas_item;
render_mode blend_add;
uniform float ray_count : hint_range(5.0, 40.0) = 20.0;
uniform float speed : hint_range(0.1, 2.0) = 0.4;
uniform float intensity : hint_range(0.0, 2.0) = 0.5;
uniform vec3 ray_color : source_color = vec3(0.5, 0.8, 1.0);
void fragment() {
vec2 uv = UV;
float vertical_fade = pow(1.0 - uv.y, 2.0);
float ray_pattern = fract(uv.x * ray_count + sin(TIME * speed + uv.y * 5.0) * 0.3);
float ray = smoothstep(0.0, 0.15, ray_pattern) * smoothstep(0.4, 0.15, ray_pattern);
float brightness = ray * vertical_fade * intensity;
COLOR = vec4(ray_color * brightness, brightness * 0.6);
}