diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-03-21 00:36:02 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-03-21 00:43:30 +0300 |
commit | f71e8617e03a4cd12ea7659ac318335dba427c29 (patch) | |
tree | a65ecd6ec40b2fac3e69ff67baeffcc0fa480cd1 /source/blender/draw/modes | |
parent | c2f0bd6aed304f0a51dd4cd086312861f42a6821 (diff) |
Viewport: Draw loose edges in edit mesh mode if there is a modifier stack
Diffstat (limited to 'source/blender/draw/modes')
-rw-r--r-- | source/blender/draw/modes/object_mode.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 5cacfd0e941..6a4e459ef56 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -2996,16 +2996,14 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) break; } Mesh *me = ob->data; - if (me->totedge == 0) { - if (!is_edit_mode) { - struct GPUBatch *geom = DRW_cache_mesh_all_verts_get(ob); - if (geom) { - if (theme_id == TH_UNDEFINED) { - theme_id = DRW_object_wire_theme_get(ob, view_layer, NULL); - } - DRWShadingGroup *shgroup = shgroup_theme_id_to_point(sgl, theme_id, ob->base_flag); - DRW_shgroup_call_object_add(shgroup, geom, ob); + if (!is_edit_mode && me->totedge == 0) { + struct GPUBatch *geom = DRW_cache_mesh_all_verts_get(ob); + if (geom) { + if (theme_id == TH_UNDEFINED) { + theme_id = DRW_object_wire_theme_get(ob, view_layer, NULL); } + DRWShadingGroup *shgroup = shgroup_theme_id_to_point(sgl, theme_id, ob->base_flag); + DRW_shgroup_call_object_add(shgroup, geom, ob); } } else { @@ -3015,7 +3013,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) BMEditMesh *embm = me->edit_mesh; has_edit_mesh_cage = embm->mesh_eval_cage && (embm->mesh_eval_cage != embm->mesh_eval_final); } - if (!is_edit_mode || has_edit_mesh_cage) { + if ((!is_edit_mode && me->totedge > 0) || has_edit_mesh_cage) { struct GPUBatch *geom = DRW_cache_mesh_loose_edges_get(ob); if (geom) { if (theme_id == TH_UNDEFINED) { |