[Bf-blender-cvs] [14b0510d218] blender2.8: Edit Mesh Overlay: Fix floating point instability artifacts

Clément Foucault noreply at git.blender.org
Tue Jul 3 15:39:34 CEST 2018


Commit: 14b0510d218e9f29c1f404c10abab82d42c656cd
Author: Clément Foucault
Date:   Tue Jul 3 15:38:21 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB14b0510d218e9f29c1f404c10abab82d42c656cd

Edit Mesh Overlay: Fix floating point instability artifacts

This was visible when vertices were very close to the near clip plane.

===================================================================

M	source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl

===================================================================

diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl
index 09d0b0a910d..fe9062a8d50 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl
@@ -36,11 +36,10 @@ out vec4 FragColor;
 void distToEdgeAndPoint(vec2 dir, vec2 ori, out float edge, out float point)
 {
 	dir = normalize(dir.xy);
+	dir = vec2(-dir.y, dir.x);
 	vec2 of = gl_FragCoord.xy - ori;
-	point = dot(of, of);
-	float dof = dot(dir, of);
-	edge = sqrt(abs(point - dof * dof));
-	point = sqrt(point);
+	point = sqrt(dot(of, of));
+	edge = abs(dot(dir, of));
 }
 
 void colorDist(vec4 color, float dist)



More information about the Bf-blender-cvs mailing list