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-04-16 20:18:14 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-04-16 20:18:14 +0400
commitc9fc3874d68630c3a4ebeca0c7ae964e5c9a901f (patch)
tree7b05c3a409c61228b7b93a2d83a9e9558d0eafe4 /intern/cycles/blender/blender_sync.cpp
parentc1276960e8714828645899391e924f44d13d1043 (diff)
Cycles: when render layers have per layer number of samples set, the Sampling
panel now has an option to specify how to use them. There's three options: * Use: render layer samples override scene samples * Bounded: bound render layer samples by scene samples * Ignore: ignore render layer sample settings
Diffstat (limited to 'intern/cycles/blender/blender_sync.cpp')
-rw-r--r--intern/cycles/blender/blender_sync.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 721eaeefc08..501c7648731 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -224,12 +224,11 @@ void BlenderSync::sync_film()
void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
{
+ PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
string layername;
/* 3d view */
if(b_v3d) {
- PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
-
if(RNA_boolean_get(&cscene, "preview_active_layer")) {
BL::RenderLayers layers(b_scene.render().ptr);
layername = layers.active().name();
@@ -245,6 +244,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
render_layer.use_background = true;
render_layer.use_viewport_visibility = true;
render_layer.samples = 0;
+ render_layer.bound_samples = false;
return;
}
}
@@ -252,6 +252,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
/* render layer */
BL::RenderSettings r = b_scene.render();
BL::RenderSettings::layers_iterator b_rlay;
+ int use_layer_samples = RNA_enum_get(&cscene, "use_layer_samples");
bool first_layer = true;
for(r.layers.begin(b_rlay); b_rlay != r.layers.end(); ++b_rlay) {
@@ -271,7 +272,10 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer)
render_layer.use_background = b_rlay->use_sky();
render_layer.use_viewport_visibility = false;
render_layer.use_localview = false;
- render_layer.samples = b_rlay->samples();
+
+ render_layer.bound_samples = (use_layer_samples == 1);
+ if(use_layer_samples != 2)
+ render_layer.samples = b_rlay->samples();
}
first_layer = false;