#version 300 es
@builtin_ext@
@builtin@

precision mediump float;

uniform sampler2D in_tex;
out vec4 out_color;
in mediump vec2 uvpos;
uniform float progress;

void main()
{
    vec4 c = get_pixel(uvpos);
    vec4 oc = c;
    float color_factor = 0.0; // 1.0 = color, 0.0 = greyscale
    // Monochrome
    float grey = 0.21 * c.r + 0.71 * c.g + 0.07 * c.b;
    c = vec4(c.r * color_factor + grey * (1.0 - color_factor), c.g * color_factor + grey * (1.0 - color_factor), c.b * color_factor + grey * (1.0 - color_factor), 1.0);
    out_color = mix(oc, c, progress);
}
