#version 450

layout(location = 0) in vec2 passPos;
layout(location = 1) in flat vec3 passColor;
layout(location = 2) in flat float passLifetime;

layout(location = 0) out vec4 outColor;

void main()	{
    if (passLifetime <= 0.0f) {
        discard;
    }

    const float value = length(passPos);

    if (value < 0.5f) {
        outColor = vec4(passColor, max(value * 2.0f, 0.0f)); // Use inverse alpha value
    } else {
        discard;
    }
}