export const fragmentSource = ` precision highp float; uniform sampler2D uTexture; uniform float uStepH; uniform float uNoise; uniform float uSeed; varying vec2 vTexCoord; float rand(vec2 co, float seed, float vScale) { return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0); } void main() { vec4 color = texture2D(uTexture, vTexCoord); color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise; gl_FragColor = color; } `;