[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57417] trunk/blender/intern/cycles/ blender: Fix #35723: cycles motion blur rendering issue after recent optimizations to skip

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Jun 12 22:47:48 CEST 2013


Revision: 57417
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57417
Author:   blendix
Date:     2013-06-12 20:47:48 +0000 (Wed, 12 Jun 2013)
Log Message:
-----------
Fix #35723: cycles motion blur rendering issue after recent optimizations to skip
some unneeded object syncing.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_session.cpp
    trunk/blender/intern/cycles/blender/blender_sync.h

Modified: trunk/blender/intern/cycles/blender/blender_session.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_session.cpp	2013-06-12 20:47:46 UTC (rev 57416)
+++ trunk/blender/intern/cycles/blender/blender_session.cpp	2013-06-12 20:47:48 UTC (rev 57417)
@@ -102,12 +102,16 @@
 	/* 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 @@
 		scene->integrator->tag_update(scene);
 
 		/* update scene */
+		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());
-		sync->sync_camera(b_render, b_engine.camera_override(), width, height);
 
 		/* update number of samples per layer */
 		int samples = sync->get_layer_samples();

Modified: trunk/blender/intern/cycles/blender/blender_sync.h
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.h	2013-06-12 20:47:46 UTC (rev 57416)
+++ trunk/blender/intern/cycles/blender/blender_sync.h	2013-06-12 20:47:48 UTC (rev 57417)
@@ -56,6 +56,8 @@
 	/* sync */
 	bool sync_recalc();
 	void sync_data(BL::SpaceView3D b_v3d, BL::Object b_override, const char *layer = 0);
+	void sync_render_layers(BL::SpaceView3D b_v3d, const char *layer);
+	void sync_integrator();
 	void sync_camera(BL::RenderSettings b_render, BL::Object b_override, int width, int height);
 	void sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height);
 	int get_layer_samples() { return render_layer.samples; }
@@ -74,10 +76,8 @@
 	void sync_objects(BL::SpaceView3D b_v3d, int motion = 0);
 	void sync_motion(BL::SpaceView3D b_v3d, BL::Object b_override);
 	void sync_film();
-	void sync_integrator();
 	void sync_view();
 	void sync_world(bool update_all);
-	void sync_render_layers(BL::SpaceView3D b_v3d, const char *layer);
 	void sync_shaders();
 	void sync_curve_settings();
 




More information about the Bf-blender-cvs mailing list