
#define u_time iTime

vec3 colorA = vec3(0.149,0.141,0.912);
vec3 colorB = vec3(1.000,0.833,0.224);

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // Normalized pixel coordinates (from 0 to 1)
    vec2 uv = fragCoord/iResolution.xy;

    vec3 color = vec3(0.0);
    vec3 pct = vec3(uv.x);
    
    pct.r = abs(sin(cos(uv.y + u_time) * 10. * uv.x + u_time));
    pct.g = abs(cos(sin(u_time + 5. * uv.x) * 5. * uv.y + u_time));
    pct.b = abs(cos(sin(u_time + 2. * uv.x) * 7. * cos(uv.y + u_time)));
    
    color = mix(colorA, colorB, pct);

    // Output to screen
    fragColor = vec4(color,1.0);
}
