// SPDX-FileCopyrightText: 2024 Erin Catto
// SPDX-License-Identifier: MIT
#version 330
out vec4 FragColor;
uniform float time;
uniform vec2 resolution;
uniform vec3 baseColor;
// A simple pseudo-random function
float random(vec2 st)
{
return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123);
}
void main()
{
vec2 uv = gl_FragCoord.xy / resolution.xy;
// Create some noise
float noise = random(uv + time * 0.1);
// Adjust these values to control the intensity and color of the grain
float grainIntensity = 0.03;
// Mix the base color with the noise
vec3 color = baseColor + vec3(noise * grainIntensity);
FragColor = vec4(color, 1.0);
}