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
path: root/intern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-07-04 14:32:17 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-07-04 14:34:15 +0400
commit6ff6883f99d2faeb71359b9e2333a684e0ccf5ca (patch)
tree3a54c2884175e5805037d8c70eeccae52816fa10 /intern
parent006b550f6f103e9d9b5d9cb2f4b0e8bdb21f7d35 (diff)
Fix T40843: Cycles does not support viewport render override
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_sync.cpp4
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());