15 lines
510 B
GLSL
15 lines
510 B
GLSL
uniform float intensity = 16.0; /// set:16 max:32
|
|
|
|
void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
|
|
vec2 uv = fragCoord.xy / iResolution.xy;
|
|
vec4 color = texture(iChannel0, uv), outcolor;
|
|
|
|
float x = (uv.x + 4.0 ) * (uv.y + 4.0 ) * (iTime * 10.0);
|
|
vec4 grain = vec4(mod((mod(x, 13.0) + 1.0) * (mod(x, 123.0) + 1.0), 0.01)-0.005) * intensity;
|
|
|
|
outcolor = color + grain; // method 1
|
|
// outcolor = color * (1.0 - grain); // method 2
|
|
|
|
FRAGCOLOR = vec4(outcolor.rgb, color.a);
|
|
}
|