Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-07-01 18:59:47 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-07-01 19:00:05 +0300
commite9d1d1f7258055a1dad5428e38656181d0204d08 (patch)
tree4c4c85819a155dbc6dfbc7c3730ae7ba05e40823 /source/blender/draw/engines/overlay/overlay_edit_mesh.c
parent2788b0261cb7d33a2f6f2978ff4f55bb4987edae (diff)
Fix T77655 Overlay: Edit mode + wire drawtype + infront not transparent
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_edit_mesh.c')
-rw-r--r--source/blender/draw/engines/overlay/overlay_edit_mesh.c3
1 files changed, 2 insertions, 1 deletions
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);
}