From 58eab5e3be99d505e44555900bdc5c12074de395 Mon Sep 17 00:00:00 2001 From: Miguel Pozo Date: Mon, 18 Mar 2024 20:39:38 +0100 Subject: [PATCH] EEVEE-Next: Disable viewport motion blur outside of playback Avoid motion blur on regular scene editing. Pull Request: https://projects.blender.org/blender/blender/pulls/119484 --- .../blender/draw/engines/eevee_next/eevee_instance.hh | 10 ++++++++++ .../draw/engines/eevee_next/eevee_motion_blur.cc | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/engines/eevee_next/eevee_instance.hh b/source/blender/draw/engines/eevee_next/eevee_instance.hh index c52b5d9caf8..cf6539f62f5 100644 --- a/source/blender/draw/engines/eevee_next/eevee_instance.hh +++ b/source/blender/draw/engines/eevee_next/eevee_instance.hh @@ -223,6 +223,11 @@ class Instance { return render == nullptr && !is_baking(); } + bool is_image_render() const + { + return DRW_state_is_image_render(); + } + bool is_viewport_image_render() const { return DRW_state_is_viewport_image_render(); @@ -238,6 +243,11 @@ class Instance { return overlays_enabled_; } + bool is_playback() const + { + return DRW_state_is_playback(); + } + bool use_scene_lights() const { return (!v3d) || diff --git a/source/blender/draw/engines/eevee_next/eevee_motion_blur.cc b/source/blender/draw/engines/eevee_next/eevee_motion_blur.cc index ee889ea0913..93f086852fd 100644 --- a/source/blender/draw/engines/eevee_next/eevee_motion_blur.cc +++ b/source/blender/draw/engines/eevee_next/eevee_motion_blur.cc @@ -28,7 +28,9 @@ void MotionBlurModule::init() const Scene *scene = inst_.scene; const ViewLayer *view_layer = inst_.view_layer; - enabled_ = (scene->r.mode & R_MBLUR) != 0; + /* Disable on viewport outside of animation playback, + * since it can get distracting while editing the scene. */ + enabled_ = (scene->r.mode & R_MBLUR) != 0 && (inst_.is_image_render() || inst_.is_playback()); if (enabled_) { enabled_ = (view_layer->layflag & SCE_LAY_MOTION_BLUR) != 0; }