[Bf-blender-cvs] [f212a16c6ab] blender-v2.83-release: Fix T77655 Overlay: Edit mode + wire drawtype + infront not transparent

Clément Foucault noreply at git.blender.org
Mon Jul 13 17:13:32 CEST 2020


Commit: f212a16c6ab5649d8685540c28c7b5b2ab3c1ed1
Author: Clément Foucault
Date:   Wed Jul 1 17:59:47 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBf212a16c6ab5649d8685540c28c7b5b2ab3c1ed1

Fix T77655 Overlay: Edit mode + wire drawtype + infront not transparent

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

M	source/blender/draw/engines/overlay/overlay_edit_mesh.c

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

diff --git a/source/blender/draw/engines/overlay/overlay_edit_mesh.c b/source/blender/draw/engines/overlay/overlay_edit_mesh.c
index 7fc1a7fdce6..fd872108b00 100644
--- a/source/blender/draw/engines/overlay/overlay_edit_mesh.c
+++ b/source/blender/draw/engines/overlay/overlay_edit_mesh.c
@@ -269,6 +269,7 @@ void OVERLAY_edit_mesh_cache_populate(OVERLAY_Data *vedata, Object *ob)
   OVERLAY_PrivateData *pd = vedata->stl->pd;
   struct GPUBatch *geom = NULL;
 
+  bool draw_as_solid = (ob->dt > OB_WIRE);
   bool do_in_front = (ob->dtx & OB_DRAWXRAY) != 0;
   bool do_occlude_wire = (pd->edit_mesh.flag & V3D_OVERLAY_EDIT_OCCLUDE_WIRE) != 0;
   bool do_show_mesh_analysis = (pd->edit_mesh.flag & V3D_OVERLAY_EDIT_STATVIS) != 0;
@@ -283,7 +284,7 @@ void OVERLAY_edit_mesh_cache_populate(OVERLAY_Data *vedata, Object *ob)
     }
   }
 
-  if (do_occlude_wire || do_in_front) {
+  if (do_occlude_wire || (do_in_front && draw_as_solid)) {
     geom = DRW_cache_mesh_surface_get(ob);
     DRW_shgroup_call_no_cull(pd->edit_mesh_depth_grp[do_in_front], geom, ob);
   }



More information about the Bf-blender-cvs mailing list