diff options
Diffstat (limited to 'source/blender/draw/engines/overlay/shaders/overlay_point_varying_color_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/overlay/shaders/overlay_point_varying_color_frag.glsl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/overlay_point_varying_color_frag.glsl b/source/blender/draw/engines/overlay/shaders/overlay_point_varying_color_frag.glsl new file mode 100644 index 00000000000..4962fb01c88 --- /dev/null +++ b/source/blender/draw/engines/overlay/shaders/overlay_point_varying_color_frag.glsl @@ -0,0 +1,23 @@ + +void main() +{ + vec2 centered = gl_PointCoord - vec2(0.5); + float dist_squared = dot(centered, centered); + const float rad_squared = 0.25; + + // round point with jaggy edges + if (dist_squared > rad_squared) { + discard; + } + +#if defined(VERT) + fragColor = finalColor; + + float midStroke = 0.5 * rad_squared; + if (vertexCrease > 0.0 && dist_squared > midStroke) { + fragColor.rgb = mix(finalColor.rgb, colorEdgeCrease.rgb, vertexCrease); + } +#else + fragColor = finalColor; +#endif +} |