diff options
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_private.h | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index 5ffea393e1f..0f084ba306b 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -78,6 +78,8 @@ extern struct DrawEngineType draw_engine_eevee_type; SHADER_IRRADIANCE /* clang-format on */ +#define EEVEE_PROBE_MAX min_ii(MAX_PROBE, GPU_max_texture_layers() / 6) + #define SWAP_DOUBLE_BUFFERS() \ { \ if (effects->swap_double_buffer) { \ @@ -123,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)) || \ @@ -137,19 +151,6 @@ extern struct DrawEngineType draw_engine_eevee_type; ((v3d->shading.flag & V3D_SHADING_SCENE_WORLD_RENDER) == 0)))) #define MIN_CUBE_LOD_LEVEL 3 - -BLI_INLINE int octahedral_size_from_cubesize(int cube_size) -{ - int cube_pixel_count = square_i(cube_size) * 6; - int octa_size = (int)ceilf(sqrtf(cube_pixel_count)); - int lod_count = log2_floor_u(octa_size) - MIN_CUBE_LOD_LEVEL; - /* Find lowest lod size and grow back to avoid having non matching mipsizes that would - * break trilinear interpolation. */ - octa_size /= 1 << lod_count; - octa_size *= 1 << lod_count; - return octa_size; -} - #define MAX_PLANAR_LOD_LEVEL 9 /* All the renderpasses that use the GPUMaterial for accumulation */ |