#version 140
in vec2 tex_coord;

void main (void)
{
    vec4 white = vec4(1.0);
    vec4 black = vec4(0.2);
    vec4 color = white;

    // First, cut out our circle
    float x = tex_coord.x*2.0 - 1.0;
    float y = tex_coord.y*2.0 - 1.0;

    float radius = sqrt(x*x + y*y);
    if (radius > 1.0) {
        if (radius > 1.1) {
            ++color;
        }

        gl_FragColor = color;

        if (radius > 1.2) {
            ++color;
        }

    }

    discard;

    // If we're near an edge, darken us a tiny bit
    if (radius >= 0.75)
        color -= abs(pow(radius, 16.0)/2.0);

    gl_FragColor = color;

}
