diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-09-21 19:29:05 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-09-21 19:29:25 +0300 |
commit | 2ece296d4fc9bb5c58da0e8428c13c0d1c5b9373 (patch) | |
tree | 143689445b6350d89199c6ade6d39edb1a31e430 | |
parent | 43fa51835adee390aa4bcb9fe3bda1034480b7cf (diff) |
Wireframe Mode: Fix missing wireframe if overlays are disabled
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 4 | ||||
-rw-r--r-- | source/blender/draw/modes/overlay_mode.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 36c2497291f..b637d2fe140 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -1300,6 +1300,10 @@ static void drw_engines_enable(ViewLayer *view_layer, RenderEngineType *engine_t drw_engines_enable_from_mode(mode); } else { + /* Force enable overlays engine for wireframe mode */ + if (v3d->shading.type == OB_WIRE) { + drw_engines_enable_from_overlays(v3d->overlay.flag); + } /* if gpencil must draw the strokes, but not the object */ drw_engines_enable_from_mode(mode); } diff --git a/source/blender/draw/modes/overlay_mode.c b/source/blender/draw/modes/overlay_mode.c index 53934de9d0e..b28e400055e 100644 --- a/source/blender/draw/modes/overlay_mode.c +++ b/source/blender/draw/modes/overlay_mode.c @@ -165,6 +165,15 @@ static void overlay_cache_init(void *vedata) stl->g_data->show_overlays = false; } + if (stl->g_data->show_overlays == false) { + stl->g_data->overlay.flag = 0; + } + + if (v3d->shading.type == OB_WIRE) { + stl->g_data->overlay.flag |= V3D_OVERLAY_WIREFRAMES; + stl->g_data->show_overlays = true; + } + { /* Face Orientation Pass */ DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL | DRW_STATE_BLEND; |