Fix T56298: Rendering glitch when bones are in stick mode in ortho view
authorClément Foucault <foucault.clem@gmail.com>
Mon, 13 Aug 2018 19:51:41 +0000 (21:51 +0200)
committerClément Foucault <foucault.clem@gmail.com>
Mon, 13 Aug 2018 21:01:18 +0000 (23:01 +0200)
source/blender/draw/modes/shaders/armature_stick_vert.glsl

index eb14239bc6f170d03b3d9a39b29fff3c139f8daf..1dbc8e161c2321af399d7463964cb22c1bee8ecf 100644 (file)
@@ -54,7 +54,7 @@ void main()
 
        /* Clip the bone to the camera origin plane (not the clip plane)
         * to avoid glitches if one end is behind the camera origin (in persp). */
-       const float clip_dist = -1e-7; /* hardcoded, -1e-8 is giving gliches. */
+       float clip_dist = (ProjectionMatrix[3][3] == 0.0) ? -1e-7 : 1e20; /* hardcoded, -1e-8 is giving gliches. */
        vec3 bvec = v1.xyz - v0.xyz;
        vec3 clip_pt = v0.xyz + bvec * ((v0.z - clip_dist) / -bvec.z);
        if (v0.z > clip_dist) {