20 lines
360 B
GLSL
20 lines
360 B
GLSL
#version 300 es
|
|
precision highp float;
|
|
|
|
in vec2 v_texcoord;
|
|
uniform sampler2D tex;
|
|
out vec4 fragColor;
|
|
|
|
float rand(vec2 co) {
|
|
return fract(sin(dot(co, vec2(12.9898, 78.233))) * 43758.5453);
|
|
}
|
|
|
|
void main() {
|
|
vec4 c = texture(tex, v_texcoord);
|
|
|
|
float grain = rand(v_texcoord) * 0.08 - 0.04;
|
|
c.rgb += grain;
|
|
|
|
fragColor = clamp(c, 0.0, 1.0);
|
|
}
|