From 4212ea7b7de70f2346e27505ae7e966a7830f038 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Fri, 5 Feb 2021 12:57:00 +0100 Subject: Fix T85260: Viewport render does not draw background Regression introduced by {rBed809866b172} where overlays weren't drawn when overlays are turned off. The background in wireframe, solid (always) and material preview and render preview (when not using scene world) are also part of the overlays. --- source/blender/draw/intern/draw_manager.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/draw') diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index f474ae542d9..bc41eab9e22 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -1715,7 +1715,12 @@ void DRW_draw_render_loop_offscreen(struct Depsgraph *depsgraph, GPU_matrix_identity_set(); GPU_matrix_identity_projection_set(); - const bool do_overlays = (v3d->flag2 & V3D_HIDE_OVERLAYS) == 0; + const bool do_overlays = (v3d->flag2 & V3D_HIDE_OVERLAYS) == 0 || + (ELEM(v3d->shading.type, OB_WIRE, OB_SOLID)) || + (ELEM(v3d->shading.type, OB_MATERIAL) && + (v3d->shading.flag & V3D_SHADING_SCENE_WORLD) == 0) || + (ELEM(v3d->shading.type, OB_RENDER) && + (v3d->shading.flag & V3D_SHADING_SCENE_WORLD_RENDER) == 0); GPU_viewport_unbind_from_offscreen(render_viewport, ofs, do_color_management, do_overlays); if (draw_background) { -- cgit v1.2.3