From 88ffee6953cc15a74ace6ef19a37b53cf10f08cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 3 Feb 2020 13:46:38 +0100 Subject: Overlay: Armature: Improve bone outline z-bias in orthographic mode The bias was too big and cause interpenetration on geometry that was in front of bones. --- .../draw/engines/overlay/shaders/armature_shape_outline_geom.glsl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender') diff --git a/source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl b/source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl index db5975ea226..6398426952c 100644 --- a/source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl +++ b/source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl @@ -70,7 +70,7 @@ void main(void) /* Offset away from the center to avoid overlap with solid shape. */ gl_Position.xy += (edge_dir - perp) * sizeViewportInv.xy * gl_Position.w; /* Improve AA bleeding inside bone silhouette. */ - gl_Position.z -= 1e-4; + gl_Position.z -= (is_persp) ? 1e-4 : 1e-6; edgeStart = edgePos = ((gl_Position.xy / gl_Position.w) * 0.5 + 0.5) * sizeViewport.xy; #ifdef USE_WORLD_CLIP_PLANES world_clip_planes_set_clip_distance(gl_in[1].gl_ClipDistance); @@ -81,7 +81,7 @@ void main(void) /* Offset away from the center to avoid overlap with solid shape. */ gl_Position.xy += (edge_dir + perp) * sizeViewportInv.xy * gl_Position.w; /* Improve AA bleeding inside bone silhouette. */ - gl_Position.z -= 1e-4; + gl_Position.z -= (is_persp) ? 1e-4 : 1e-6; edgeStart = edgePos = ((gl_Position.xy / gl_Position.w) * 0.5 + 0.5) * sizeViewport.xy; #ifdef USE_WORLD_CLIP_PLANES world_clip_planes_set_clip_distance(gl_in[2].gl_ClipDistance); -- cgit v1.2.3