[Bf-blender-cvs] [62811c3ba17] master: Fix T63211: Can't move camera in viewport while realtime render mode on
Sergey Sharybin
noreply at git.blender.org
Tue Apr 2 11:44:30 CEST 2019
Commit: 62811c3ba17a96c41803c69a515f02531330e3a1
Author: Sergey Sharybin
Date: Tue Apr 2 11:38:55 2019 +0200
Branches: master
https://developer.blender.org/rB62811c3ba17a96c41803c69a515f02531330e3a1
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.
===================================================================
M source/blender/draw/engines/eevee/eevee_motion_blur.c
===================================================================
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 */
More information about the Bf-blender-cvs
mailing list