#ifdef GL_ES precision highp float; precision highp int; #endif uniform sampler2D u_texture; uniform vec2 u_resolution; uniform float u_time; uniform vec2 u_uv; uniform vec2 u_uv2; uniform float u_scl; varying vec4 v_color; varying vec2 v_texCoord; void main() { vec2 coords = ((v_texCoord.xy - u_uv) / (u_uv2 - u_uv) - vec2(0.5, 0.5)) * u_resolution/u_scl; float roundx = 8.0; float roundy = roundx; float roundm = 0.2; coords.x = float(int(coords.x / roundx)) * roundx; coords.y = float(int(coords.y / roundy)) * roundy; float d = abs(coords.x) - abs(coords.y); float m = abs(sin(-u_time/50.0 + d/120.0)); m = float(int(m / roundm)) * roundm + roundm; gl_FragColor.rgb = mix(v_color.rgb, vec3(0.0), m); gl_FragColor.a = mod(abs(coords.x) + abs(coords.y), 110.0) < 35.0 ? 1.0 : 0.0; }