[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44529] trunk/blender/intern/cycles: Cycles: fix AO pass not rendering with AO enabled for world, and make mask

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Feb 28 20:43:33 CET 2012


Revision: 44529
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44529
Author:   blendix
Date:     2012-02-28 19:43:33 +0000 (Tue, 28 Feb 2012)
Log Message:
-----------
Cycles: fix AO pass not rendering with AO enabled for world, and make mask
layers work more like blender internal.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/addon/ui.py
    trunk/blender/intern/cycles/blender/blender_shader.cpp
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/render/background.cpp
    trunk/blender/intern/cycles/render/film.cpp
    trunk/blender/intern/cycles/render/scene.cpp

Modified: trunk/blender/intern/cycles/blender/addon/ui.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/ui.py	2012-02-28 19:40:12 UTC (rev 44528)
+++ trunk/blender/intern/cycles/blender/addon/ui.py	2012-02-28 19:43:33 UTC (rev 44529)
@@ -179,6 +179,7 @@
         col.prop(scene, "layers", text="Scene")
         col.label(text="Material:")
         col.prop(rl, "material_override", text="")
+        col.prop(rl, "use_zmask");
 
         col = split.column()
         col.prop(rl, "layers", text="Layer")

Modified: trunk/blender/intern/cycles/blender/blender_shader.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_shader.cpp	2012-02-28 19:40:12 UTC (rev 44528)
+++ trunk/blender/intern/cycles/blender/blender_shader.cpp	2012-02-28 19:43:33 UTC (rev 44529)
@@ -700,14 +700,12 @@
 		if(b_world) {
 			BL::WorldLighting b_light = b_world.light_settings();
 
-			if(b_light.use_ambient_occlusion()) {
+			if(b_light.use_ambient_occlusion())
 				background->ao_factor = b_light.ao_factor();
-				background->ao_distance = b_light.distance();
-			}
-			else {
+			else
 				background->ao_factor = 0.0f;
-				background->ao_distance = 0.0f;
-			}
+
+			background->ao_distance = b_light.distance();
 		}
 
 		shader->set_graph(graph);

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2012-02-28 19:40:12 UTC (rev 44528)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2012-02-28 19:43:33 UTC (rev 44529)
@@ -204,7 +204,8 @@
 				render_layer.name = b_rlay->name();
 				render_layer.scene_layer = get_layer(b_scene.layers());
 				render_layer.layer = get_layer(b_rlay->layers());
-				render_layer.holdout_layer = get_layer(b_rlay->layers_zmask());
+				render_layer.holdout_layer = (b_rlay->use_zmask())? ~get_layer(b_rlay->layers_zmask()): 0;
+				render_layer.layer |= render_layer.holdout_layer;
 				render_layer.material_override = b_rlay->material_override();
 			}
 

Modified: trunk/blender/intern/cycles/render/background.cpp
===================================================================
--- trunk/blender/intern/cycles/render/background.cpp	2012-02-28 19:40:12 UTC (rev 44528)
+++ trunk/blender/intern/cycles/render/background.cpp	2012-02-28 19:43:33 UTC (rev 44529)
@@ -18,6 +18,7 @@
 
 #include "background.h"
 #include "device.h"
+#include "integrator.h"
 #include "graph.h"
 #include "nodes.h"
 #include "scene.h"
@@ -74,6 +75,7 @@
 
 void Background::tag_update(Scene *scene)
 {
+	scene->integrator->tag_update(scene);
 	need_update = true;
 }
 

Modified: trunk/blender/intern/cycles/render/film.cpp
===================================================================
--- trunk/blender/intern/cycles/render/film.cpp	2012-02-28 19:40:12 UTC (rev 44528)
+++ trunk/blender/intern/cycles/render/film.cpp	2012-02-28 19:43:33 UTC (rev 44529)
@@ -19,6 +19,7 @@
 #include "camera.h"
 #include "device.h"
 #include "film.h"
+#include "integrator.h"
 #include "scene.h"
 
 #include "util_algorithm.h"
@@ -255,6 +256,7 @@
 
 void Film::tag_update(Scene *scene)
 {
+	scene->integrator->tag_update(scene);
 	need_update = true;
 }
 

Modified: trunk/blender/intern/cycles/render/scene.cpp
===================================================================
--- trunk/blender/intern/cycles/render/scene.cpp	2012-02-28 19:40:12 UTC (rev 44528)
+++ trunk/blender/intern/cycles/render/scene.cpp	2012-02-28 19:43:33 UTC (rev 44529)
@@ -152,13 +152,13 @@
 
 	if(progress.get_cancel()) return;
 
-	progress.set_status("Updating Integrator");
-	integrator->device_update(device, &dscene);
+	progress.set_status("Updating Film");
+	film->device_update(device, &dscene);
 
 	if(progress.get_cancel()) return;
 
-	progress.set_status("Updating Film");
-	film->device_update(device, &dscene);
+	progress.set_status("Updating Integrator");
+	integrator->device_update(device, &dscene);
 
 	if(progress.get_cancel()) return;
 




More information about the Bf-blender-cvs mailing list