[Bf-blender-cvs] [75b61f5] master: Cycles: Remove unused Mix Shaders from the ShaderGraph, instead of only relinking.

Thomas Dinges noreply at git.blender.org
Fri Sep 19 13:21:50 CEST 2014


Commit: 75b61f5346fbf05d64a90b17f70b096b1a690f3e
Author: Thomas Dinges
Date:   Fri Sep 19 13:21:25 2014 +0200
Branches: master
https://developer.blender.org/rB75b61f5346fbf05d64a90b17f70b096b1a690f3e

Cycles: Remove unused Mix Shaders from the ShaderGraph, instead of only relinking.

Differential revision: https://developer.blender.org/D796

===================================================================

M	intern/cycles/render/graph.cpp

===================================================================

diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp
index 0ff904d..904060c 100644
--- a/intern/cycles/render/graph.cpp
+++ b/intern/cycles/render/graph.cpp
@@ -391,6 +391,8 @@ void ShaderGraph::remove_unneeded_nodes()
 					if(output)
 						connect(output, input);
 				}
+				removed[mix->id] = true;
+				any_node_removed = true;
 			}
 		
 			/* remove unused mix closure input when factor is 0.0 or 1.0 */
@@ -410,6 +412,8 @@ void ShaderGraph::remove_unneeded_nodes()
 						if(output)
 							connect(output, input);
 					}
+					removed[mix->id] = true;
+					any_node_removed = true;
 				}
 				/* factor 1.0 */
 				else if(mix->inputs[0]->value.x == 1.0f) {
@@ -425,13 +429,15 @@ void ShaderGraph::remove_unneeded_nodes()
 						if(output)
 							connect(output, input);
 					}
+					removed[mix->id] = true;
+					any_node_removed = true;
 				}
 			}
 		}
 	}
 
 	/* remove nodes */
-	if (any_node_removed) {
+	if(any_node_removed) {
 		list<ShaderNode*> newnodes;
 
 		foreach(ShaderNode *node, nodes) {




More information about the Bf-blender-cvs mailing list