diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2012-05-23 14:31:16 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2012-05-23 14:31:16 +0400 |
commit | a4257c888073bce1f6f95267c81b17e6445f9055 (patch) | |
tree | 48dbd83e06e13ca6684480b5f46cca8f78d7c803 /source | |
parent | c0f59c44f8f4a15368335337adc7b9aafbe3fca6 (diff) |
* Stopped flickering of preview images
* Solved crash when first input socket of brightness node is not
connected
Diffstat (limited to 'source')
3 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/compositor/nodes/COM_BrightnessNode.cpp b/source/blender/compositor/nodes/COM_BrightnessNode.cpp index 2bcf7250173..c4fac50334c 100644 --- a/source/blender/compositor/nodes/COM_BrightnessNode.cpp +++ b/source/blender/compositor/nodes/COM_BrightnessNode.cpp @@ -28,12 +28,11 @@ BrightnessNode::BrightnessNode(bNode *editorNode): Node(editorNode) { } -/// @todo: add anti alias when not FSA + void BrightnessNode::convertToOperations(ExecutionSystem *graph, CompositorContext * context) { BrightnessOperation *operation = new BrightnessOperation(); - - this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0)); + this->getInputSocket(0)->relinkConnections(operation->getInputSocket(0),true, 0, graph); this->getInputSocket(1)->relinkConnections(operation->getInputSocket(1),true, 1, graph); this->getInputSocket(2)->relinkConnections(operation->getInputSocket(2),true, 2, graph); this->getOutputSocket(0)->relinkConnections(operation->getOutputSocket(0)); diff --git a/source/blender/compositor/operations/COM_PreviewOperation.cpp b/source/blender/compositor/operations/COM_PreviewOperation.cpp index 2b02546a8f9..a7b6fc93b25 100644 --- a/source/blender/compositor/operations/COM_PreviewOperation.cpp +++ b/source/blender/compositor/operations/COM_PreviewOperation.cpp @@ -93,7 +93,6 @@ void PreviewOperation::executeRegion(rcti *rect, unsigned int tileNumber, Memory color[2] = 0.0f; color[3] = 1.0f; input->read(color, rx, ry, COM_PS_NEAREST, memoryBuffers); - /// @todo: linear conversion only when scene color management is selected, also check predivide. linearrgb_to_srgb_v4(color, color); F4TOCHAR4(color, outputBuffer+offset); offset +=4; diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c index 8099f6d3f13..5bc2e1fc004 100644 --- a/source/blender/nodes/composite/node_composite_tree.c +++ b/source/blender/nodes/composite/node_composite_tree.c @@ -143,6 +143,16 @@ static void localize(bNodeTree *localtree, bNodeTree *ntree) } } + /* copy over the preview buffers to update graduatly */ + if (node->preview) { + bNodePreview *preview = MEM_callocN(sizeof(bNodePreview), "Preview"); + preview->pad = node->preview->pad; + preview->xsize = node->preview->xsize; + preview->ysize = node->preview->ysize; + preview->rect = MEM_dupallocN(node->preview->rect); + node->new_node->preview = preview; + } + for (sock= node->outputs.first; sock; sock= sock->next) { sock->new_sock->cache= sock->cache; compbuf_set_node(sock->new_sock->cache, node->new_node); |