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
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2014-09-24 14:52:19 +0400
committerThomas Dinges <blender@dingto.org>2014-09-24 14:52:36 +0400
commitcbffc7499ef89cac19c07ee2116b8e1e5d38afe5 (patch)
tree99c38a372075999e7dd84a9f20656b5b26238810 /intern/cycles/blender/blender_shader.cpp
parent6dae643450201ae4e284e3e2ccbbb7ce297fbd2c (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.cpp4
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;
}