#ifdef GL_ES precision mediump float; #endif uniform float time;uniform vec2 resolution;void main(void){vec2 p=vec2(resolution.x/resolution.y,1.)*((gl_FragCoord.xy/resolution.xy)-(.5, .5));vec2 q=4.*p+vec2(0.,-1.);float a=atan(q.y,q.x);float l=length(q); float c=(sin(sin(time)*.1*p.x+sin(time)*p.y+6.)*.5+.5); float m=(sin(sin(time)*sin(p.x+p.y)+9.)+cos((sin(a)*p.x+p.y+12.))*.25+ .5);float t=(2.-2.*sin(a)+sin(a)*sqrt(abs(cos(a)))/(sin(a)+1.4));gl_FragColor= vec4(sin(time)*smoothstep(t-.3,t-0.999999,l),c/4.+m/4.,c/4.+m/4.,1.);}