Fix #36991, After rendering with Sampled Motion Blur, the moving objects place is wrong.

With mblur the render function was setting scene frame for each blur sample and calling DAG update, but not after the last sample is finished, leaving the scene in the wrong frame.
This commit is contained in:
Lukas Toenne 2013-10-09 16:49:13 +00:00
parent b754efcca5
commit c1541a940d
1 changed files with 4 additions and 0 deletions

View File

@ -1309,6 +1309,10 @@ static void do_render_blur_3d(Render *re)
re->mblur_offs = 0.0f;
re->i.curblur = 0; /* stats */
/* make sure motion blur changes get reset to current frame */
if ((re->r.scemode & (R_NO_FRAME_UPDATE|R_BUTS_PREVIEW|R_VIEWPORT_PREVIEW))==0)
BKE_scene_update_for_newframe(re->main, re->scene, re->lay);
/* weak... the display callback wants an active renderlayer pointer... */
re->result->renlay = render_get_active_layer(re, re->result);
re->display_draw(re->ddh, re->result, NULL);