#version 330 core

in vec2 texCoords;

out vec4 color;

uniform float energy;
uniform float energyPreview;

float lengthSquared(vec2 v) {
    return dot(v, v);
}

void main() {
    float lSq = lengthSquared(texCoords);
    if (lSq < 0.001) {
        color = vec4(1, 1, 1, 1);
        return;
    }
    if (lSq < 0.49 || lSq > 0.81) {
        discard;
    }
    float angle = atan(abs(texCoords.x),  texCoords.y) / 3.14159265;
    if (angle < energy) {
        if (angle > energyPreview) {
            color = vec4(1, 1, 0, 1);
        } else {
            color = vec4(0, 1, 0, 1);
        }
    } else {
        color = vec4(1, 0, 0, 1);
    }
}