[Bf-blender-cvs] [4fc45c7a2b7] master: Fix T74643: Outline Overlay Shows Hidden Faces

Jeroen Bakker noreply at git.blender.org
Fri Mar 20 07:44:17 CET 2020


Commit: 4fc45c7a2b75df1a0e07150c101b664e189550b7
Author: Jeroen Bakker
Date:   Tue Mar 17 12:05:45 2020 +0100
Branches: master
https://developer.blender.org/rB4fc45c7a2b75df1a0e07150c101b664e189550b7

Fix T74643: Outline Overlay Shows Hidden Faces

When in editmode faces can be hidden, but in object mode these faces are
still visible. The flag if a face was hidden in edit mode is stored in
object mode, but should not be used.

The edge detection gpu batch did detect hidden faces and didn't add them
to the draw batch. The edge detection gpu batch is used for workbench
shadows, custom bone shapes and object outlines.

This patch adds all faces to the edge detection batch.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D7157

===================================================================

M	source/blender/draw/intern/draw_cache_extract_mesh.c

===================================================================

diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c b/source/blender/draw/intern/draw_cache_extract_mesh.c
index b86287a03e8..54e745102f0 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh.c
+++ b/source/blender/draw/intern/draw_cache_extract_mesh.c
@@ -1066,7 +1066,7 @@ static void extract_lines_adjacency_looptri_mesh(const MeshRenderData *mr,
                                                  void *data)
 {
   const MPoly *mpoly = &mr->mpoly[mlt->poly];
-  if (!(mpoly->flag & ME_HIDE)) {
+  if (!(mr->use_hide && (mpoly->flag & ME_HIDE))) {
     lines_adjacency_triangle(mr->mloop[mlt->tri[0]].v,
                              mr->mloop[mlt->tri[1]].v,
                              mr->mloop[mlt->tri[2]].v,



More information about the Bf-blender-cvs mailing list