mat2 rot(float a){return mat2(cos(a),-sin(a),sin(a),cos(a));}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{

    vec3 col;
    float t;

    for(int c=0;c<3;c++){
	    vec2 uv = (fragCoord*5.0-iResolution.xy)/iResolution.y;
        t = iTime;
        for(int i=0;i<3;i++)
        {
        	uv += (sin(iTime+uv.x)+cos(iTime+uv.y));
            uv += uv*rot(length(sin(col)));
        }
     col[c] = (sin(uv.x)+cos(uv.y));
	}

    fragColor = vec4(col,1.0);

}
