diff options
author | Thomas Dinges <blender@dingto.org> | 2014-09-24 14:52:19 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2014-09-24 14:52:36 +0400 |
commit | cbffc7499ef89cac19c07ee2116b8e1e5d38afe5 (patch) | |
tree | 99c38a372075999e7dd84a9f20656b5b26238810 /intern/cycles/blender/blender_shader.cpp | |
parent | 6dae643450201ae4e284e3e2ccbbb7ce297fbd2c (diff) |
Cycles: Shader Graph Optimization for Mix RGB nodes.
Basically the same as AC2c58e96685e8, but for Mix RGB Shaders, in case we use the Mix type. This way the node can be used as texture switch for example, setting the Factor to 0.0 or 1.0, without wasting extra memory / render time.
Diffstat (limited to 'intern/cycles/blender/blender_shader.cpp')
-rw-r--r-- | intern/cycles/blender/blender_shader.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 4c9379c905a..33c7bf5f859 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -229,6 +229,10 @@ static ShaderNode *add_node(Scene *scene, BL::BlendData b_data, BL::Scene b_scen BL::ShaderNodeMixRGB b_mix_node(b_node); MixNode *mix = new MixNode(); mix->type = MixNode::type_enum[b_mix_node.blend_type()]; + /* Tag if it's Mix */ + if(b_mix_node.blend_type() == 0) + mix->special_type = SHADER_SPECIAL_TYPE_MIX_RGB; + mix->use_clamp = b_mix_node.use_clamp(); node = mix; } |