precision highp float;
varying vec2 vTextureCoord;
varying vec4 vColor;
uniform float noise;
uniform sampler2D uSampler;
float rand(vec2 co)
{
return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);
}
void main()
{
vec4 color = texture2D(uSampler, vTextureCoord);
float diff = (rand(gl_FragCoord.xy) - 0.5) * noise;
color.r += diff;
color.g += diff;
color.b += diff;
gl_FragColor = color;
}