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>2012-02-28 23:43:33 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-28 23:43:33 +0400
commit8a76aa2e479c05946f97aade4a733b0fea45dbf3 (patch)
treef1a0c1a56fbd3dc95eb2b516d3cc697eddc66b2d
parentdcfd1dd7e2bf13a68ae02f471f08e15ef400a9e7 (diff)
Cycles: fix AO pass not rendering with AO enabled for world, and make mask
layers work more like blender internal.
-rw-r--r--intern/cycles/blender/addon/ui.py1
-rw-r--r--intern/cycles/blender/blender_shader.cpp10
-rw-r--r--intern/cycles/blender/blender_sync.cpp3
-rw-r--r--intern/cycles/render/background.cpp2
-rw-r--r--intern/cycles/render/film.cpp2
-rw-r--r--intern/cycles/render/scene.cpp8
6 files changed, 15 insertions, 11 deletions
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index faf057e13cc..9eb8f251ebb 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -179,6 +179,7 @@ class CyclesRender_PT_layers(CyclesButtonsPanel, Panel):
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")
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index a88bcaf3ace..415a043cf78 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -700,14 +700,12 @@ void BlenderSync::sync_world()
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);
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 901b1a09f97..45ed7adcfdc 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -204,7 +204,8 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
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();
}
diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp
index c5b003fe6c5..919bd83f195 100644
--- a/intern/cycles/render/background.cpp
+++ b/intern/cycles/render/background.cpp
@@ -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 @@ bool Background::modified(const Background& background)
void Background::tag_update(Scene *scene)
{
+ scene->integrator->tag_update(scene);
need_update = true;
}
diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp
index daadb6c04c8..3fb1e385adc 100644
--- a/intern/cycles/render/film.cpp
+++ b/intern/cycles/render/film.cpp
@@ -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 @@ bool Film::modified(const Film& film)
void Film::tag_update(Scene *scene)
{
+ scene->integrator->tag_update(scene);
need_update = true;
}
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index 0b2e2b8a9b6..079f2744e73 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -152,13 +152,13 @@ void Scene::device_update(Device *device_, Progress& progress)
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;