[Bf-blender-cvs] [d7cff8f] master: Fix T39114: cycles lamp ray visibility not working.

Brecht Van Lommel noreply at git.blender.org
Wed Mar 12 18:21:32 CET 2014


Commit: d7cff8f74c00e6952c9f69e5f673f2b68045ef3e
Author: Brecht Van Lommel
Date:   Wed Mar 12 18:20:42 2014 +0100
https://developer.blender.org/rBd7cff8f74c00e6952c9f69e5f673f2b68045ef3e

Fix T39114: cycles lamp ray visibility not working.

Thanks to Thomas for finding the cause.

===================================================================

M	intern/cycles/render/scene.cpp

===================================================================

diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index 71f5a9d..daf22d9 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -137,6 +137,8 @@ void Scene::device_update(Device *device_, Progress& progress)
 	 * - Camera may be used for adapative subdivison.
 	 * - Displacement shader must have all shader data available.
 	 * - Light manager needs lookup tables and final mesh data to compute emission CDF.
+	 * - Film needs light manager to run for use_light_visibility
+	 * - Lookup tables are done a second time to handle film tables
 	 */
 	
 	image_manager->set_pack_images(device->info.pack_images);
@@ -171,11 +173,6 @@ void Scene::device_update(Device *device_, Progress& progress)
 
 	if(progress.get_cancel()) return;
 
-	progress.set_status("Updating Film");
-	film->device_update(device, &dscene, this);
-
-	if(progress.get_cancel()) return;
-
 	progress.set_status("Updating Lookup Tables");
 	lookup_tables->device_update(device, &dscene);
 
@@ -196,11 +193,21 @@ void Scene::device_update(Device *device_, Progress& progress)
 
 	if(progress.get_cancel()) return;
 
+	progress.set_status("Updating Film");
+	film->device_update(device, &dscene, this);
+
+	if(progress.get_cancel()) return;
+
 	progress.set_status("Updating Integrator");
 	integrator->device_update(device, &dscene, this);
 
 	if(progress.get_cancel()) return;
 
+	progress.set_status("Updating Lookup Tables");
+	lookup_tables->device_update(device, &dscene);
+
+	if(progress.get_cancel()) return;
+
 	progress.set_status("Updating Device", "Writing constant memory");
 	device->const_copy_to("__data", &dscene.data, sizeof(dscene.data));
 }




More information about the Bf-blender-cvs mailing list