Blender
V5.0
source
blender
compositor
algorithms
COM_algorithm_recursive_gaussian_blur.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2024 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
BLI_math_vector_types.hh
"
8
9
#include "
COM_context.hh
"
10
#include "
COM_result.hh
"
11
12
namespace
blender::compositor
{
13
14
/* Blur the input using a recursive Gaussian blur algorithm given a certain radius. This differs
15
* from the standard symmetric separable blur algorithm in that it is orders of magnitude faster
16
* for very high radius value, the downside is that it consumes more memory and is only an
17
* approximation that might suffer from fringing and artifacts, though those are typically
18
* unnoticeable. Neumann boundary is assumed.
19
*
20
* The output is written to the given output result, which will be allocated internally and is thus
21
* expected not to be previously allocated. */
22
void
recursive_gaussian_blur
(
Context
&context,
23
const
Result
&
input
,
24
Result
&
output
,
25
const
float2
&radius);
26
27
}
// namespace blender::compositor
BLI_math_vector_types.hh
COM_context.hh
COM_result.hh
blender::compositor::Context
Definition
COM_context.hh:44
blender::compositor::Result
Definition
COM_result.hh:100
input
#define input
Definition
gpu_shader_compat_cxx.hh:170
output
#define output
Definition
gpu_shader_compat_cxx.hh:171
blender::compositor
Definition
BKE_node.hh:77
blender::compositor::recursive_gaussian_blur
void recursive_gaussian_blur(Context &context, const Result &input, Result &output, const float2 &radius)
Definition
recursive_gaussian_blur.cc:49
blender::float2
VecBase< float, 2 > float2
Definition
BLI_math_vector_types.hh:618
Generated on
for Blender by
doxygen
1.16.1