hero-mark-2/shaders/color_noise.gdshader

19 lines
No EOL
479 B
Text

shader_type canvas_item;
uniform bool animate_noise = false;
uniform float noise_intensity = 1.0;
uniform float fps = 60.0;
float random (vec2 uv) {
return fract(sin(dot(uv.xy,
vec2(12.9898,78.233))) * 43758.5453123);
}
void fragment() {
float time = floor(fract(TIME) * fps);
vec2 noise_uv = SCREEN_UV + time * float(animate_noise);
float noise = random(noise_uv);
noise = mix(1.0 - noise_intensity, 1.0, noise);
COLOR = vec4(COLOR.rgb * noise, COLOR.a);
}