diff options
author | Hans Goudey <h.goudey@me.com> | 2021-07-19 02:29:49 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-07-19 02:29:49 +0300 |
commit | db384d4df6c0aca209554573e2fe85efa9f0cd0d (patch) | |
tree | ccc35afe7000942113d8f700ae5f4fdc3bf61bfe /source/blender/compositor | |
parent | 20ddb64207a1b06df56b6666574843fa6d9b3374 (diff) | |
parent | 83883ae66ad3231840d483ff091727b33d2f355b (diff) |
Merge branch 'master' into temp-geometry-nodes-curve-sample
Diffstat (limited to 'source/blender/compositor')
-rw-r--r-- | source/blender/compositor/nodes/COM_IDMaskNode.cc | 26 | ||||
-rw-r--r-- | source/blender/compositor/operations/COM_SMAAOperation.cc | 7 |
2 files changed, 25 insertions, 8 deletions
diff --git a/source/blender/compositor/nodes/COM_IDMaskNode.cc b/source/blender/compositor/nodes/COM_IDMaskNode.cc index 9798dabd035..b51e79f2dea 100644 --- a/source/blender/compositor/nodes/COM_IDMaskNode.cc +++ b/source/blender/compositor/nodes/COM_IDMaskNode.cc @@ -17,9 +17,9 @@ */ #include "COM_IDMaskNode.h" -#include "COM_AntiAliasOperation.h" #include "COM_ExecutionSystem.h" #include "COM_IDMaskOperation.h" +#include "COM_SMAAOperation.h" namespace blender::compositor { @@ -42,11 +42,27 @@ void IDMaskNode::convertToOperations(NodeConverter &converter, converter.mapOutputSocket(getOutputSocket(0), operation->getOutputSocket(0)); } else { - AntiAliasOperation *antiAliasOperation = new AntiAliasOperation(); - converter.addOperation(antiAliasOperation); + SMAAEdgeDetectionOperation *operation1 = nullptr; - converter.addLink(operation->getOutputSocket(), antiAliasOperation->getInputSocket(0)); - converter.mapOutputSocket(getOutputSocket(0), antiAliasOperation->getOutputSocket(0)); + operation1 = new SMAAEdgeDetectionOperation(); + converter.addOperation(operation1); + + converter.addLink(operation->getOutputSocket(0), operation1->getInputSocket(0)); + + /* Blending Weight Calculation Pixel Shader (Second Pass). */ + SMAABlendingWeightCalculationOperation *operation2 = + new SMAABlendingWeightCalculationOperation(); + converter.addOperation(operation2); + + converter.addLink(operation1->getOutputSocket(), operation2->getInputSocket(0)); + + /* Neighborhood Blending Pixel Shader (Third Pass). */ + SMAANeighborhoodBlendingOperation *operation3 = new SMAANeighborhoodBlendingOperation(); + converter.addOperation(operation3); + + converter.addLink(operation->getOutputSocket(0), operation3->getInputSocket(0)); + converter.addLink(operation2->getOutputSocket(), operation3->getInputSocket(1)); + converter.mapOutputSocket(getOutputSocket(0), operation3->getOutputSocket()); } } diff --git a/source/blender/compositor/operations/COM_SMAAOperation.cc b/source/blender/compositor/operations/COM_SMAAOperation.cc index c3647a39909..3c753591ced 100644 --- a/source/blender/compositor/operations/COM_SMAAOperation.cc +++ b/source/blender/compositor/operations/COM_SMAAOperation.cc @@ -21,6 +21,7 @@ #include "COM_SMAAOperation.h" #include "BLI_math.h" #include "COM_SMAAAreaTexture.h" +#include "BKE_node.h" extern "C" { #include "IMB_colormanagement.h" @@ -166,8 +167,8 @@ SMAAEdgeDetectionOperation::SMAAEdgeDetectionOperation() this->flags.complex = true; this->m_imageReader = nullptr; this->m_valueReader = nullptr; - this->m_threshold = 0.1f; - this->m_contrast_limit = 2.0f; + this->setThreshold(CMP_DEFAULT_SMAA_THRESHOLD); + this->setLocalContrastAdaptationFactor(CMP_DEFAULT_SMAA_CONTRAST_LIMIT); } void SMAAEdgeDetectionOperation::initExecution() @@ -297,7 +298,7 @@ SMAABlendingWeightCalculationOperation::SMAABlendingWeightCalculationOperation() this->addOutputSocket(DataType::Color); this->flags.complex = true; this->m_imageReader = nullptr; - this->m_corner_rounding = 25; + this->setCornerRounding(CMP_DEFAULT_SMAA_CORNER_ROUNDING); } void *SMAABlendingWeightCalculationOperation::initializeTileData(rcti *rect) |