prosperon/source/shaders/circlefrag.glsl

34 lines
637 B
GLSL

#version 330
in vec2 coords;
out vec4 color;
uniform float radius;
uniform int thickness;
uniform vec3 dbgColor;
uniform bool fill;
void main()
{
// int tt = thickness + 1;
float R1 = 1.f;
float R2 = 1.f - (thickness / radius);
float dist = sqrt(dot(coords, coords));
if (dist >= R2 && dist <= R1)
color = vec4(dbgColor, 1.f);
else if (dist < R2)
color = vec4(dbgColor, 0.1f);
else
discard;
/*
float smoother = 0.01f - (radius * 0.00003f);
float sm = smoothstep(R1, R1-smoother, dist);
float sm2 = smoothstep(R2, R2+smoother, dist);
float alpha = sm*sm2;
*/
}