Files
2023-01-18 15:36:00 -08:00

33 lines
734 B
GLSL

#version 330
uniform float glow_factor;
uniform mat4 perspective;
in vec4 color;
in float scaled_aaw;
in vec3 v_point;
out vec4 frag_color;
// This include a delaration of uniform vec3 shading
#INSERT finalize_color.glsl
void main() {
vec2 vect = 2.0 * gl_PointCoord.xy - vec2(1.0);
float r = length(vect);
if(r > 1.0 + scaled_aaw) discard;
frag_color = color;
if(glow_factor > 0){
frag_color.a *= pow(1 - r, glow_factor);
}
if(shading != vec3(0.0)){
vec3 normal = vec3(vect, sqrt(1 - r * r));
normal = (perspective * vec4(normal, 0.0)).xyz;
frag_color = finalize_color(frag_color, v_point, normal);
}
frag_color.a *= smoothstep(1.0, 1.0 - scaled_aaw, r);
}