Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-05-22 18:12:13 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-05-22 18:15:45 +0300
commit8cc4c3da8cbe8da197928fa821e140f4b2615c4c (patch)
treecde2eb40138570d46f68cae8e10d5d5bb4103fd9 /source/blender/compositor/nodes/COM_BrightnessNode.cpp
parent849e77b1f957b25ac9223a3dc510e234f4467fd1 (diff)
Fix T51308: Bright/Contrast Doesn't respect Pre-multiplied Alpha
Brightness/contrast node was changing color but did not modify alpha or ensured colors are premultiplied on the output. This was giving artifacts later on unless alpha was manually converted. Compositor is supposed to work in premultiplied alpha (except of some really corner cases) so it makes sense to ensure premultiplied alpha after brightness/contrast node. This is now done as an option enabled by default, so we: (a) Keep compatibility with old files. (b) Have correct behavior for newly created files. Later on we can get rid of this option.
Diffstat (limited to 'source/blender/compositor/nodes/COM_BrightnessNode.cpp')
-rw-r--r--source/blender/compositor/nodes/COM_BrightnessNode.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/compositor/nodes/COM_BrightnessNode.cpp b/source/blender/compositor/nodes/COM_BrightnessNode.cpp
index 053f286c66e..6729571fac0 100644
--- a/source/blender/compositor/nodes/COM_BrightnessNode.cpp
+++ b/source/blender/compositor/nodes/COM_BrightnessNode.cpp
@@ -31,7 +31,9 @@ BrightnessNode::BrightnessNode(bNode *editorNode) : Node(editorNode)
void BrightnessNode::convertToOperations(NodeConverter &converter, const CompositorContext &/*context*/) const
{
+ bNode *bnode = this->getbNode();
BrightnessOperation *operation = new BrightnessOperation();
+ operation->setUsePremultiply((bnode->custom1 & 1) != 0);
converter.addOperation(operation);
converter.mapInputSocket(getInputSocket(0), operation->getInputSocket(0));