diff options
Diffstat (limited to 'source/blender/compositor/nodes/COM_DefocusNode.cpp')
-rw-r--r-- | source/blender/compositor/nodes/COM_DefocusNode.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/compositor/nodes/COM_DefocusNode.cpp b/source/blender/compositor/nodes/COM_DefocusNode.cpp index 65825a60b50..c2bd8997525 100644 --- a/source/blender/compositor/nodes/COM_DefocusNode.cpp +++ b/source/blender/compositor/nodes/COM_DefocusNode.cpp @@ -73,11 +73,14 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext this->getInputSocket(1)->relinkConnections(converter->getInputSocket(0), 1, graph); graph->addOperation(converter); - FastGaussianBlurValueOperation * blur = new FastGaussianBlurValueOperation(); + FastGaussianBlurValueOperation *blur = new FastGaussianBlurValueOperation(); addLink(graph, converter->getOutputSocket(0), blur->getInputSocket(0)); graph->addOperation(blur); radiusOperation = blur; converter->setPostBlur(blur); + + /* maintain close pixels so far Z values don't bleed into the foreground */ + blur->setOverlay(FAST_GAUSS_OVERLAY_MIN); } BokehImageOperation *bokeh = new BokehImageOperation(); @@ -105,7 +108,8 @@ void DefocusNode::convertToOperations(ExecutionSystem *graph, CompositorContext VariableSizeBokehBlurOperation *operation = new VariableSizeBokehBlurOperation(); if (data->preview) { operation->setQuality(COM_QUALITY_LOW); - } else { + } + else { operation->setQuality(context->getQuality()); } operation->setMaxBlur(data->maxblur); |