diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-07-04 14:32:17 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-07-04 14:34:15 +0400 |
commit | 6ff6883f99d2faeb71359b9e2333a684e0ccf5ca (patch) | |
tree | 3a54c2884175e5805037d8c70eeccae52816fa10 /intern | |
parent | 006b550f6f103e9d9b5d9cb2f4b0e8bdb21f7d35 (diff) |
Fix T40843: Cycles does not support viewport render override
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 042bbca9497..19898bfa573 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -316,6 +316,8 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer) BL::RenderSettings::layers_iterator b_rlay; int use_layer_samples = RNA_enum_get(&cscene, "use_layer_samples"); bool first_layer = true; + uint layer_override = get_layer(b_engine.layer_override()); + uint scene_layers = layer_override ? layer_override : get_layer(b_scene.layers()); for(r.layers.begin(b_rlay); b_rlay != r.layers.end(); ++b_rlay) { if((!layer && first_layer) || (layer && b_rlay->name() == layer)) { @@ -324,7 +326,7 @@ void BlenderSync::sync_render_layers(BL::SpaceView3D b_v3d, const char *layer) render_layer.holdout_layer = get_layer(b_rlay->layers_zmask()); render_layer.exclude_layer = get_layer(b_rlay->layers_exclude()); - render_layer.scene_layer = get_layer(b_scene.layers()) & ~render_layer.exclude_layer; + render_layer.scene_layer = scene_layers & ~render_layer.exclude_layer; render_layer.scene_layer |= render_layer.exclude_layer & render_layer.holdout_layer; render_layer.layer = get_layer(b_rlay->layers()); |