[Bf-blender-cvs] [948bc66] master: Cycles: Improve readability of dumped graphs

Sergey Sharybin noreply at git.blender.org
Tue Mar 17 17:15:45 CET 2015


Commit: 948bc66a004d15324236f516a9b05001a39e1610
Author: Sergey Sharybin
Date:   Tue Mar 17 21:15:17 2015 +0500
Branches: master
https://developer.blender.org/rB948bc66a004d15324236f516a9b05001a39e1610

Cycles: Improve readability of dumped graphs

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

M	intern/cycles/render/graph.cpp

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

diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp
index 5b81a2c..4767bbb 100644
--- a/intern/cycles/render/graph.cpp
+++ b/intern/cycles/render/graph.cpp
@@ -844,29 +844,59 @@ void ShaderGraph::dump_graph(const char *filename)
 
 	fprintf(fd, "digraph shader_graph {\n");
 	fprintf(fd, "ranksep=1.5\n");
+	fprintf(fd, "rankdir=LR\n");
 	fprintf(fd, "splines=false\n");
 
 	foreach(ShaderNode *node, nodes) {
 		fprintf(fd, "// NODE: %p\n", node);
-		fprintf(fd,
-		        "\"%p\" [shape=record,label=\"%s\"]\n",
-		        node,
-		        node->name.c_str());
+		fprintf(fd, "\"%p\" [shape=record,label=\"{", node);
+		if(node->inputs.size()) {
+			fprintf(fd, "{");
+			foreach(ShaderInput *socket, node->inputs) {
+				if(socket != node->inputs[0]) {
+					fprintf(fd, "|");
+				}
+				fprintf(fd, "<IN_%p>%s", socket, socket->name);
+			}
+			fprintf(fd, "}|");
+		}
+		fprintf(fd, "%s", node->name.c_str());
+		if(node->bump == SHADER_BUMP_CENTER) {
+			fprintf(fd, " (bump:center)");
+		}
+		else if(node->bump == SHADER_BUMP_DX) {
+			fprintf(fd, " (bump:dx)");
+		}
+		else if(node->bump == SHADER_BUMP_DY) {
+			fprintf(fd, " (bump:dy)");
+		}
+		if(node->outputs.size()) {
+			fprintf(fd, "|{");
+			foreach(ShaderOutput *socket, node->outputs) {
+				if(socket != node->outputs[0]) {
+					fprintf(fd, "|");
+				}
+				fprintf(fd, "<OUT_%p>%s", socket, socket->name);
+			}
+			fprintf(fd, "}");
+		}
+		fprintf(fd, "}\"]");
 	}
 
 	foreach(ShaderNode *node, nodes) {
 		foreach(ShaderOutput *output, node->outputs) {
 			foreach(ShaderInput *input, output->links) {
 				fprintf(fd,
-				        "// CONNECTION: %p->%p (%s:%s)\n",
+				        "// CONNECTION: OUT_%p->IN_%p (%s:%s)\n",
 				        output,
 				        input,
 				        output->name, input->name);
 				fprintf(fd,
-				        "\"%p\":s -> \"%p\":n [label=\"%s:%s\"]\n",
+				        "\"\%p\":\"OUT_%p\":e -> \"%p\":\"IN_%p\":w [label=\"\"]\n",
 				        output->parent,
+				        output,
 				        input->parent,
-				        output->name, input->name);
+				        input);
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list