Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-04-02 12:38:55 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-04-02 12:38:55 +0300
commit62811c3ba17a96c41803c69a515f02531330e3a1 (patch)
tree4bd3019526656121ae2edc47fa88356c0caaec07 /source/blender/draw/engines/eevee/eevee_motion_blur.c
parent0a2e59a7269c573113449654c61bdf6656a3c430 (diff)
Fix T63211: Can't move camera in viewport while realtime render mode on
The issue is that Eevee directly evaluates animation on a datablock which is a part of active dependency graph. This is a broken logic by design and requires a complete revamp to support more real life cases when camera is parented to a camera rig, but it is beyond of what i can do with a simple bugfix.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_motion_blur.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_motion_blur.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_motion_blur.c b/source/blender/draw/engines/eevee/eevee_motion_blur.c
index 70db2adedbf..bc3e4b35936 100644
--- a/source/blender/draw/engines/eevee/eevee_motion_blur.c
+++ b/source/blender/draw/engines/eevee/eevee_motion_blur.c
@@ -61,6 +61,12 @@ static void eevee_motion_blur_camera_get_matrix_at_time(
Camera camdata_cpy = *(Camera *)(camera->data);
cam_cpy.data = &camdata_cpy;
+ /* Reset original pointers, so direct evaluation does not attempt to flush
+ * animation back to the original object: otherwise viewport with motion
+ * blur enabled will always loose non-keyed changes. */
+ cam_cpy.id.orig_id = NULL;
+ camdata_cpy.id.orig_id = NULL;
+
const DRWContextState *draw_ctx = DRW_context_state_get();
/* Past matrix */