diff options
author | Sybren A. Stüvel <sybren@blender.org> | 2019-08-01 15:10:04 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@blender.org> | 2019-08-13 17:38:22 +0300 |
commit | 42798a5ca16154c9ecaf5a2359bd0b4fbe9dec94 (patch) | |
tree | c6058d021044aba7c7472632dba1e2e83d72b760 /source/blender/render/intern | |
parent | 71641ab56d0f0cb52c301b83ff499699029fa032 (diff) |
Fix T67516 VSE: Animation evaluated incorrectly when scene strip present
The calls to `BKE_animsys_evaluate_all_animation()` and
`BKE_mask_evaluate_all_masks()` used the wrong timecode to evaluate the
animation system. This happened:
- Sequencer in scene A was rendered at frame X.
- Scene strip for scene B which should be evaluated at frame Y.
- BKE_animsys_evaluate_all_animation() was called with frame Y, which
also re-evaluated the animation data in scene A.
- Other sequencer strips with animated values were then evaluated for
frame Y and not frame X.
Since the depsgraph for rendering the scene strip is already OK and does
its job, it's no longer necessary to re-evaluate all the animation in
this way.
Removed `BKE_mask_evaluate_all_masks()` because it's no longer used.
Reviewers: sergey, brecht, iss
Differential Revision: https://developer.blender.org/D5394
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index d620cd38b76..6284fa2d119 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1680,7 +1680,6 @@ static void do_render_all_options(Render *re) { Object *camera; bool render_seq = false; - int cfra = re->r.cfra; re->current_scene_update(re->suh, re->scene); @@ -1692,16 +1691,6 @@ static void do_render_all_options(Render *re) BKE_image_all_free_anim_ibufs(re->main, re->r.cfra); BKE_sequencer_all_free_anim_ibufs(re->scene, re->r.cfra); - /* Update for sequencer and compositing animation. - * TODO: ideally we would create a depsgraph with a copy of the scene - * like the render engine, but sequencer and compositing do not (yet?) - * work with copy-on-write. */ - BKE_animsys_evaluate_all_animation(re->main, NULL, re->scene, (float)cfra); - - /* Update for masks - * (these do not use animsys but own lighter weight structure to define animation). */ - BKE_mask_evaluate_all_masks(re->main, (float)cfra, true); - if (RE_engine_render(re, 1)) { /* in this case external render overrides all */ } |