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.
This commit is contained in:
Jeroen Bakker 2021-02-05 12:57:00 +01:00
parent 0a546beb1f
commit 4212ea7b7d

@ -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) {