[Bf-blender-cvs] [b2188d631a8] blender2.8: Armature: Outline: Fix outline detection in critical cases.
Clément Foucault
noreply at git.blender.org
Sat May 5 21:13:59 CEST 2018
Commit: b2188d631a81972f38548a333757eb21ddd784b0
Author: Clément Foucault
Date: Sat May 5 20:33:57 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBb2188d631a81972f38548a333757eb21ddd784b0
Armature: Outline: Fix outline detection in critical cases.
Outline was not generated because the normal was completely orthogonal to
the view.
===================================================================
M source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl
===================================================================
diff --git a/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl b/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl
index 73916163b9a..0d09114579c 100644
--- a/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl
+++ b/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl
@@ -45,7 +45,13 @@ void main()
* barelly visible at the outline corners. */
ssNor = normalize((NormalMatrix * snor).xy);
- vFacing = dot(V, normalize(NormalMatrix * nor));
+ vec3 normal = normalize(NormalMatrix * nor);
+ /* Add a small bias to avoid loosing outline
+ * on faces orthogonal to the view.
+ * (test case: octahedral bone without rotation in front view.) */
+ normal.z += 1e-6;
+
+ vFacing = dot(V, normal);
ssPos = proj(pPos);
More information about the Bf-blender-cvs
mailing list