diff --git a/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert.glsl index fa7118916dc..f60d3be0042 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_armature_shape_outline_vert.glsl @@ -107,7 +107,7 @@ void geometry_main(VertOut geom_in[4], float fac3 = dot(view_vec, n3); /* If one of the face is perpendicular to the view, - * consider it and outline edge. */ + * consider it an outline edge. */ if (abs(fac0) > 1e-5f && abs(fac3) > 1e-5f) { /* If both adjacent verts are facing the camera the same way, * then it isn't an outline edge. */ diff --git a/source/blender/draw/engines/overlay/shaders/overlay_outline_prepass_wire_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_outline_prepass_wire_vert.glsl index 7af0a3d6c4d..ecfb72cc9dd 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_outline_prepass_wire_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_outline_prepass_wire_vert.glsl @@ -91,10 +91,14 @@ void geometry_main(VertOut geom_in[4], float fac0 = dot(view_vec, n0); float fac3 = dot(view_vec, n3); - /* If both adjacent verts are facing the camera the same way, - * then it isn't an outline edge. */ - if (sign(fac0) == sign(fac3)) { - return; + /* If one of the face is perpendicular to the view, + * consider it an outline edge. */ + if (abs(fac0) > 1e-5f && abs(fac3) > 1e-5f) { + /* If both adjacent verts are facing the camera the same way, + * then it isn't an outline edge. */ + if (sign(fac0) == sign(fac3)) { + return; + } } VertOut export_vert = (out_vertex_id == 0) ? geom_in[1] : geom_in[2];