diff options
Diffstat (limited to 'intern/cycles/blender/blender_session.cpp')
-rw-r--r-- | intern/cycles/blender/blender_session.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index ff1c32831bb..d9adc5480dc 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -203,7 +203,10 @@ void BlenderSession::render() b_rlay = *b_iter; /* add passes */ - if(session_params.device.type == DEVICE_CPU) { /* todo */ + vector<Pass> passes; + Pass::add(PASS_COMBINED, passes); + + if(session_params.device.advanced_shading) { BL::RenderLayer::passes_iterator b_pass_iter; for(b_rlay.passes.begin(b_pass_iter); b_pass_iter != b_rlay.passes.end(); ++b_pass_iter) { @@ -211,12 +214,13 @@ void BlenderSession::render() PassType pass_type = get_pass_type(b_pass); if(pass_type != PASS_NONE) - Pass::add(pass_type, buffer_params.passes); + Pass::add(pass_type, passes); } } - scene->film->passes = buffer_params.passes; - scene->film->need_update = true; + buffer_params.passes = passes; + scene->film->passes = passes; + scene->film->tag_update(scene); /* update session */ session->reset(buffer_params, session_params.samples); |