From 456595fd39c2db59be9de4652c7232a04d2322b6 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 3 Mar 2020 09:58:48 +0100 Subject: Fix T74392: HDRI preview spheres appear in render passes and reflections Do not render HDRI Previews when a renderpass is active Reviewed By: fclem Differential Revision: https://developer.blender.org/D7005 --- source/blender/draw/engines/eevee/eevee_private.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'source/blender/draw/engines/eevee/eevee_private.h') diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index 4f5ab5f2e1f..0f084ba306b 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -125,9 +125,21 @@ extern struct DrawEngineType draw_engine_eevee_type; } \ ((void)0) -#define LOOK_DEV_OVERLAY_ENABLED(v3d) \ - ((v3d) && (v3d->shading.type == OB_MATERIAL) && ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) && \ - (v3d->overlay.flag & V3D_OVERLAY_LOOK_DEV)) +BLI_INLINE bool eevee_hdri_preview_overlay_enabled(View3D *v3d) +{ + /* Only show the HDRI Preview in Shading Preview in the Viewport. */ + if (v3d == NULL || v3d->shading.type != OB_MATERIAL) { + return false; + } + + /* Only show the HDRI Preview when viewing the Combined render pass */ + if (v3d->shading.render_pass != SCE_PASS_COMBINED) { + return false; + } + + return ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) && (v3d->overlay.flag & V3D_OVERLAY_LOOK_DEV); +} + #define USE_SCENE_LIGHT(v3d) \ ((!v3d) || \ ((v3d->shading.type == OB_MATERIAL) && (v3d->shading.flag & V3D_SHADING_SCENE_LIGHTS)) || \ -- cgit v1.2.3