#version 450 core in vec4 gColor; in vec2 cenPosT; in float gRad; out vec4 fColor; out float gl_FragDepth; void main() { vec2 pos = gl_FragCoord.xy; // fColor = vec4( gColor.xyz , 0 ); // fColor = vec4( gColor.xyz , 1 - step(distance(pos,cenPos.xy),gRad) ); // fColor = vec4( gColor.xyz , distance(pos,cenPos.xy)/gRad ); // fColor = vec4( gColor.rgb, gColor.a * (1-step(gRad/2,distance(pos,cenPosT))) ); gl_FragDepth = max(gl_FragCoord.z , step(gRad/2,distance(pos,cenPosT))); fColor = gColor; } //note it is the fragdepth that stops this from being square