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_session.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_session.cpp')
-rw-r--r--intern/cycles/blender/blender_session.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index f4f9ec548a4..f60da169bb1 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -362,9 +362,14 @@ void BlenderSession::render()
/* update scene */
sync->sync_data(b_v3d, b_engine.camera_override(), b_rlay_name.c_str());
- /* update session */
+ /* update number of samples per layer */
int samples = sync->get_layer_samples();
- session->reset(buffer_params, (samples == 0)? session_params.samples: samples);
+ bool bound_samples = sync->get_layer_bound_samples();
+
+ if(samples != 0 && (!bound_samples || (samples < session_params.samples)))
+ session->reset(buffer_params, samples);
+ else
+ session->reset(buffer_params, session_params.samples);
/* render */
session->start();