diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-02-03 15:46:38 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-02-03 18:15:05 +0300 |
commit | 88ffee6953cc15a74ace6ef19a37b53cf10f08cd (patch) | |
tree | e8c1ddc09c2095a0fd8d9cb8d97435b7336015d0 | |
parent | dcf44dfe8e0b0a084554ecb2cb2d34f0e273d933 (diff) |
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.
-rw-r--r-- | source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl | 4 |
1 files changed, 2 insertions, 2 deletions
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); |