diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-23 23:24:32 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-23 23:24:32 +0400 |
commit | 8acdc0515db613cb8dbeaa3152472fd61559bde5 (patch) | |
tree | 243498e40b849069bfca27ed29b15a716d1b4ada /intern/cycles/render/nodes.cpp | |
parent | d7b99389ba97d2561e01e79d2abfe14703121dbf (diff) |
Fix #35847: cycles group nodes did not work well exposing inputs like normal or
texture coordinate that should automatically use the default normal or texture
coordinate appropriate for that node, rather than some fixed value specified by
the user.
Diffstat (limited to 'intern/cycles/render/nodes.cpp')
-rw-r--r-- | intern/cycles/render/nodes.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 3672b893825..029b948332a 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1121,12 +1121,15 @@ void MappingNode::compile(OSLCompiler& compiler) /* Convert */ -ConvertNode::ConvertNode(ShaderSocketType from_, ShaderSocketType to_) +ConvertNode::ConvertNode(ShaderSocketType from_, ShaderSocketType to_, bool autoconvert) : ShaderNode("convert") { from = from_; to = to_; + if(autoconvert) + special_type = SHADER_SPECIAL_TYPE_AUTOCONVERT; + assert(from != to); if(from == SHADER_SOCKET_FLOAT) @@ -1271,7 +1274,7 @@ void ProxyNode::compile(OSLCompiler& compiler) /* BSDF Closure */ BsdfNode::BsdfNode(bool scattering_) -: ShaderNode("subsurface_scattering"), scattering(scattering_) +: ShaderNode("bsdf"), scattering(scattering_) { closure = ccl::CLOSURE_BSSRDF_ID; |