#version 100

precision mediump float;

varying vec2 fragTexCoord;
varying vec4 fragColor;


uniform vec3 color;
uniform float sun_radius;
uniform float start_transperency;

vec2 offset = vec2(1.0, 1.0);
float sun_end = 1.0;

void main()
{
    offset.x -= fragTexCoord.x * 2.0;
    offset.y -= fragTexCoord.y * 2.0;
    float radius = length(offset);

    if(radius < sun_radius){

        gl_FragColor = vec4(color, 1.0);

    }else if(radius < sun_end){

        float gradient = radius;
        gradient -= sun_radius;
        gradient = gradient / (sun_end - sun_radius) * start_transperency;
        gl_FragColor = vec4(color, start_transperency - gradient);

    }else{
        gl_FragColor = vec4(color, 0.0);
    }
}