diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-05-16 16:03:21 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-05-16 16:03:21 +0400 |
commit | 4dec85ef26a65aa947641f5b15acdd157652b481 (patch) | |
tree | b5a86bf8a52c09478a32e53d976e1bfbfe6990ad /source/blender/render | |
parent | b90108c10871e61387934bf74035a10dbb0ed16b (diff) |
Fix #35384: animation to enable/disable render layers was applied one frame too
late when rendering animations.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 011d48e1994..b76e67dd634 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -408,6 +408,11 @@ int RE_engine_render(Render *re, int do_all) if (!do_all && (type->flag & RE_USE_POSTPROCESS)) return 0; + /* update animation here so any render layer animation is applied before + * creating the render result */ + if ((re->r.scemode & (R_NO_FRAME_UPDATE | R_BUTS_PREVIEW)) == 0) + BKE_scene_update_for_newframe(re->main, re->scene, re->lay); + /* create render result */ BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); if (re->result == NULL || !(re->r.scemode & R_BUTS_PREVIEW)) { @@ -451,9 +456,6 @@ int RE_engine_render(Render *re, int do_all) engine->resolution_x = re->winx; engine->resolution_y = re->winy; - if ((re->r.scemode & (R_NO_FRAME_UPDATE | R_BUTS_PREVIEW)) == 0) - BKE_scene_update_for_newframe(re->main, re->scene, re->lay); - RE_parts_init(re, FALSE); engine->tile_x = re->partx; engine->tile_y = re->party; |