Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-10-09 20:49:13 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-10-09 20:49:13 +0400
commitc1541a940d8bb0d0a8b063165ccf3e90f57fbc7a (patch)
tree6d10ffc5a66b00efe2ca37966e23ea5fca7b79c2
parentb754efcca572749c0aad2c94b9ca7a015bbc06b8 (diff)
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.
-rw-r--r--source/blender/render/intern/source/pipeline.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 6118d479cab..fa05f8dd18d 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -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);