diff options
author | Monique Dewanchand <m.dewanchand@atmind.nl> | 2013-02-03 21:22:26 +0400 |
---|---|---|
committer | Monique Dewanchand <m.dewanchand@atmind.nl> | 2013-02-03 21:22:26 +0400 |
commit | 2950214527812503b009995c638d2be37efaa22f (patch) | |
tree | fb56d981200952a73f1ffa24e8ad09380e84d398 /source/blender/compositor/nodes/COM_GroupNode.cpp | |
parent | b58b107db409c877b523f90ff8feb5c4db7688a8 (diff) |
One fix for bug [#33785] compositor is (unnecessarily?) slow
Added additional buffers - new subtree - for groupnodes.
One needs to be aware of how groupnodes should be created.
Having translate & scale nodes, with the translate inside the groupnode and the scale node outside, causes artefacts.
Both should be inside or outside the groupnode. Same holds for other distort nodes.
Diffstat (limited to 'source/blender/compositor/nodes/COM_GroupNode.cpp')
-rw-r--r-- | source/blender/compositor/nodes/COM_GroupNode.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/compositor/nodes/COM_GroupNode.cpp b/source/blender/compositor/nodes/COM_GroupNode.cpp index e10d7dbad2e..32190010aa6 100644 --- a/source/blender/compositor/nodes/COM_GroupNode.cpp +++ b/source/blender/compositor/nodes/COM_GroupNode.cpp @@ -58,7 +58,7 @@ void GroupNode::ungroup(ExecutionSystem &system) InputSocket *inputSocket = inputsockets[index]; bNodeSocket *editorInput = inputSocket->getbNodeSocket(); if (editorInput->groupsock) { - SocketProxyNode *proxy = new SocketProxyNode(bnode, editorInput, editorInput->groupsock); + SocketProxyNode *proxy = new SocketProxyNode(bnode, editorInput, editorInput->groupsock, false); inputSocket->relinkConnections(proxy->getInputSocket(0), index, &system); ExecutionSystemHelper::addNode(system.getNodes(), proxy); } @@ -68,7 +68,7 @@ void GroupNode::ungroup(ExecutionSystem &system) OutputSocket *outputSocket = outputsockets[index]; bNodeSocket *editorOutput = outputSocket->getbNodeSocket(); if (editorOutput->groupsock) { - SocketProxyNode *proxy = new SocketProxyNode(bnode, editorOutput->groupsock, editorOutput); + SocketProxyNode *proxy = new SocketProxyNode(bnode, editorOutput->groupsock, editorOutput, true); outputSocket->relinkConnections(proxy->getOutputSocket(0)); ExecutionSystemHelper::addNode(system.getNodes(), proxy); } |