From 4dec85ef26a65aa947641f5b15acdd157652b481 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 16 May 2013 12:03:21 +0000 Subject: Fix #35384: animation to enable/disable render layers was applied one frame too late when rendering animations. --- source/blender/render/intern/source/external_engine.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'source/blender/render') 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; -- cgit v1.2.3