diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-16 20:18:14 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-16 20:18:14 +0400 |
commit | c9fc3874d68630c3a4ebeca0c7ae964e5c9a901f (patch) | |
tree | 7b05c3a409c61228b7b93a2d83a9e9558d0eafe4 /intern/cycles/blender/blender_session.cpp | |
parent | c1276960e8714828645899391e924f44d13d1043 (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.cpp | 9 |
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(); |