// title: sketch-2020-01-24-15-27
// author: yue
precision mediump float;
uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
void main(){
float s=sin(u_time);
float c=cos(u_time);
vec2 p=gl_FragCoord.xy/u_resolution.xy;
vec2 r=p;
p=fract(p*3.);
vec3 color=p.y+.2*s>.5?vec3(1.):vec3(-1.);
color*=p.x+.2*s-.5;
color*=p.x+.2*c-.3;
color*=p.y+.2*c-.5;
color*=p.x+.2*s-p.y;
color*=p.y+.2*s-p.x;
color*=p.y+p.x+.2*s-.8;
color*=p.y+p.x+.2*c-1.2;
//color *= distance(p, vec2(.5)) - .3 - .1 *s;
//color *= distance(p, vec2(.5)) - .1 - .4 *abs(c);
color*=r.x+.2*c-.5;
color*=r.x+.2*s-.3;
color*=r.y+.2*s-.5;
color*=r.x+.2*s-p.y;
color*=r.y+.2*c-p.x;
color*=r.y+p.x+.2*c-.8;
color*=r.y+p.x+.2*s-1.2;
color*=distance(r,vec2(.5))-.4>0.?0.:1.;
color=color.x>0.?vec3(1.):vec3(-1.);
gl_FragColor=vec4(color,1.);
}