[Bf-blender-cvs] [88ffee6953c] blender-v2.82-release: Overlay: Armature: Improve bone outline z-bias in orthographic mode
Clément Foucault
noreply at git.blender.org
Mon Feb 3 16:17:28 CET 2020
Commit: 88ffee6953cc15a74ace6ef19a37b53cf10f08cd
Author: Clément Foucault
Date: Mon Feb 3 13:46:38 2020 +0100
Branches: blender-v2.82-release
https://developer.blender.org/rB88ffee6953cc15a74ace6ef19a37b53cf10f08cd
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.
===================================================================
M source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl
===================================================================
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);
More information about the Bf-blender-cvs
mailing list