Blender Git Loki
Git Commits -> Revision 5f6bd44
Revision 5f6bd44 by Lukas Toenne (master) December 18, 2011, 15:34 (GMT) |
Generalized node groups for Cycles. This allows group nodes inside other group nodes in cycles and makes the code more generic for all possible cases, like direct group input-to-output links and unused group sockets. Previous code tried to connect external nodes and internal group sockets by following links until a "real" node input/output. This quickly becomes complicated in corner cases as described above and can lead to unexpected behavior when the group socket is of a different type than the internal/external sockets, but that conversion is skipped. The new code uses the concept of "proxy nodes" similar to what the new compositor does. Each group socket is replaced with a proxy node with a single input and output, to which other nodes in the same tree and internal nodes can link to. After all groups have been expanded in the graph, these proxy nodes are removed again, adding converter nodes if necessary. |
Commit Details:
Full Hash: 5f6bd44c82bef24a43696449d8b905beeb53015b
SVN Revision: 42707
Parent Commit: b49463c
Lines Changed: +200, -104
6 Modified Paths:
/intern/cycles/blender/blender_shader.cpp (+113, -99) (Diff)
/intern/cycles/render/graph.cpp (+51, -2) (Diff)
/intern/cycles/render/graph.h (+1, -0) (Diff)
/intern/cycles/render/nodes.cpp (+20, -0) (Diff)
/intern/cycles/render/nodes.h (+8, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+7, -3) (Diff)
/intern/cycles/render/graph.cpp (+51, -2) (Diff)
/intern/cycles/render/graph.h (+1, -0) (Diff)
/intern/cycles/render/nodes.cpp (+20, -0) (Diff)
/intern/cycles/render/nodes.h (+8, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+7, -3) (Diff)