[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46947] trunk/blender/intern/cycles/render /graph.cpp: Fix cycles render issue with a (useless) mix node that has the same shader
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed May 23 19:55:34 CEST 2012
Revision: 46947
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46947
Author: blendix
Date: 2012-05-23 17:55:34 +0000 (Wed, 23 May 2012)
Log Message:
-----------
Fix cycles render issue with a (useless) mix node that has the same shader
plugged into both sockets.
Modified Paths:
--------------
trunk/blender/intern/cycles/render/graph.cpp
Modified: trunk/blender/intern/cycles/render/graph.cpp
===================================================================
--- trunk/blender/intern/cycles/render/graph.cpp 2012-05-23 17:26:49 UTC (rev 46946)
+++ trunk/blender/intern/cycles/render/graph.cpp 2012-05-23 17:55:34 UTC (rev 46947)
@@ -325,6 +325,25 @@
removed[proxy->id] = true;
}
+
+ /* remove useless mix closures nodes */
+ MixClosureNode *mix = dynamic_cast<MixClosureNode*>(node);
+
+ if(mix) {
+ if(mix->outputs[0]->links.size() && mix->inputs[1]->link == mix->inputs[2]->link) {
+ ShaderOutput *output = mix->inputs[1]->link;
+ vector<ShaderInput*> inputs = mix->outputs[0]->links;
+
+ foreach(ShaderInput *sock, mix->inputs)
+ if(sock->link)
+ disconnect(sock);
+
+ foreach(ShaderInput *input, inputs) {
+ disconnect(input);
+ connect(output, input);
+ }
+ }
+ }
}
}
More information about the Bf-blender-cvs
mailing list