diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl new file mode 100644 index 00000000000..fef81cf58fe --- /dev/null +++ b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl @@ -0,0 +1,24 @@ + +uniform vec4 color; + +in vec2 radii; +out vec4 fragColor; + +void main() { + float dist = length(gl_PointCoord - vec2(0.5)); + +// transparent outside of point +// --- 0 --- +// smooth transition +// --- 1 --- +// pure point color +// ... +// dist = 0 at center of point + + fragColor.rgb = color.rgb; + fragColor.a = mix(color.a, 0.0, smoothstep(radii[1], radii[0], dist)); + + if (fragColor.a == 0.0) { + discard; + } +} |