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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-06-13 00:47:48 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-06-13 00:47:48 +0400
commita5f60e933755357bb54f821c5011ebc108de772c (patch)
tree03beb50932b1406344868e2ba0f23f4ee9b68c45 /intern/cycles/blender/blender_session.cpp
parent69e7fb6091207e38bec4f51c11e6fcdbd71f736e (diff)
Fix #35723: cycles motion blur rendering issue after recent optimizations to skip
some unneeded object syncing.
Diffstat (limited to 'intern/cycles/blender/blender_session.cpp')
-rw-r--r--intern/cycles/blender/blender_session.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index c981e379333..ecdc631e39a 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -102,12 +102,16 @@ void BlenderSession::create_session()
/* create sync */
sync = new BlenderSync(b_engine, b_data, b_scene, scene, !background, session->progress, session_params.device.type == DEVICE_CPU);
- /* for final render we will do data sync per render layer */
if(b_v3d) {
+ /* full data sync */
sync->sync_data(b_v3d, b_engine.camera_override());
sync->sync_view(b_v3d, b_rv3d, width, height);
}
else {
+ /* for final render we will do full data sync per render layer, only
+ * do some basic syncing here, no objects or materials for speed */
+ sync->sync_render_layers(b_v3d, NULL);
+ sync->sync_integrator();
sync->sync_camera(b_render, b_engine.camera_override(), width, height);
}
@@ -373,8 +377,8 @@ void BlenderSession::render()
scene->integrator->tag_update(scene);
/* update scene */
- sync->sync_data(b_v3d, b_engine.camera_override(), b_rlay_name.c_str());
sync->sync_camera(b_render, b_engine.camera_override(), width, height);
+ sync->sync_data(b_v3d, b_engine.camera_override(), b_rlay_name.c_str());
/* update number of samples per layer */
int samples = sync->get_layer_samples();