diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-08-12 19:04:08 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-08-12 19:06:36 +0300 |
commit | 2218b61e8ea76b6cf139b3ba76e430f60d691211 (patch) | |
tree | 0906b23c9ac74c1ebacd7235aceb5f3778a47b6d /source/blender/draw/engines/eevee/eevee_private.h | |
parent | 879ed5a165ae870c7a8967fdd0f084ea7b16ca13 (diff) |
Fix T79637 Motion blur gives artifacts when changing the camera
DRW_render_set_time is calling RE_engine_frame_set will in turn calls
BKE_scene_camera_switch_update.
To workaround this, we get the original camera object at render init and
get the evaluated version from it after each time change.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_private.h')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_private.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index a88eccc89a9..8d11a3e5dc1 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -920,6 +920,9 @@ typedef struct EEVEE_PrivateData { float camtexcofac[4]; float size_orig[2]; + /* Cached original camera when rendering for motion blur (see T79637). */ + struct Object *cam_original_ob; + /* Mist Settings */ float mist_start, mist_inv_dist, mist_falloff; |