Fix #35384: animation to enable/disable render layers was applied one frame too

late when rendering animations.
This commit is contained in:
Brecht Van Lommel 2013-05-16 12:03:21 +00:00
parent b90108c108
commit 4dec85ef26

@ -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;