diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-12-12 10:51:06 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-12-12 10:51:06 +0400 |
commit | 3759c10e5c832672920daf80b0f1018604cfb4b4 (patch) | |
tree | 1e7dc95b5a192213ea2f26927228e9fe173e5af4 /intern/cycles/render/svm.cpp | |
parent | cf723e5e7c99cf653196b47afe131cb3cac24050 (diff) |
Fix #33485: cycles OSL now autodetects the presence of emission and transparent
closures to enable multiple importance sampling and transparent shadows.
Diffstat (limited to 'intern/cycles/render/svm.cpp')
-rw-r--r-- | intern/cycles/render/svm.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index 4acd174e60f..f7cb8f62247 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -478,9 +478,9 @@ void SVMCompiler::generate_closure(ShaderNode *node, set<ShaderNode*>& done) stack_clear_users(node, done); stack_clear_temporary(node); - if(node->name == ustring("emission")) + if(node->has_surface_emission()) current_shader->has_surface_emission = true; - if(node->name == ustring("transparent")) + if(node->has_surface_transparent()) current_shader->has_surface_transparent = true; /* end node is added outside of this */ @@ -538,9 +538,9 @@ void SVMCompiler::generate_multi_closure(ShaderNode *node, set<ShaderNode*>& don mix_weight_offset = SVM_STACK_INVALID; - if(node->name == ustring("emission")) + if(node->has_surface_emission()) current_shader->has_surface_emission = true; - if(node->name == ustring("transparent")) + if(node->has_surface_transparent()) current_shader->has_surface_transparent = true; } |