diff options
Diffstat (limited to 'source/blender/draw/engines/overlay/shaders/overlay_extra_loose_point_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/overlay/shaders/overlay_extra_loose_point_frag.glsl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/overlay_extra_loose_point_frag.glsl b/source/blender/draw/engines/overlay/shaders/overlay_extra_loose_point_frag.glsl new file mode 100644 index 00000000000..d92b947ef89 --- /dev/null +++ b/source/blender/draw/engines/overlay/shaders/overlay_extra_loose_point_frag.glsl @@ -0,0 +1,20 @@ + +void main() +{ + vec2 centered = abs(gl_PointCoord - vec2(0.5)); + float dist = max(centered.x, centered.y); + + float fac = dist * dist * 4.0; + /* Non linear blend. */ + vec4 col1 = sqrt(colorEditMeshMiddle); + vec4 col2 = sqrt(finalColor); + fragColor = mix(col1, col2, 0.45 + fac * 0.65); + fragColor *= fragColor; + + lineOutput = vec4(0.0); + + /* Make the effect more like a fresnel by offsetting + * the depth and creating mini-spheres. + * Disabled as it has performance impact. */ + // gl_FragDepth = gl_FragCoord.z + 1e-6 * fac; +} |