void main( ) { vec2 uv = vUv; if (abs(sin(rtime0.003snoise(vec3(rtime0.0003, ${fxrand()},0.))) - uv.x) > 0.2${fxrand()} || abs(sin(rtime0.005snoise(vec3(${fxrand()}, rtime0.0003,0.))) - uv.y) > 0.2${fxrand()}) { gl_FragColor = vec4(1.0); } else { gl_FragColor = vec4(0.0); } vec4 cvs_a = texture2D(canvas, uv+snoise(vec3(uv.x8.0${fxrand()}, uv.y8.0${fxrand()}, time0.0003${fxrand()}))0.1${fxrand()}); vec4 cvs_b = texture2D(canvas, uv+snoise(vec3(uv.x8.0${fxrand()}, uv.y8.0${fxrand()}, time0.0003${fxrand()}))0.1${fxrand()} + 0.001*${fxrand()}); vec4 cvs_c = texture2D(canvas, uv+snoise(vec3(uv.x8.0${fxrand()}, uv.y8.0${fxrand()}, time0.0003${fxrand()}))0.1${fxrand()} - 0.001*${fxrand()}); vec4 cvs = vec4(cvs_a.r, cvs_b.g, cvs_c.b, 1.0); gl_FragColor += cvs-(0.99 + snoise(vec3(${fxrand()}, uv.x0.3, time0.000003))*0.01) ; }