Blender V5.0
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
8
9#include "COM_context.hh"
10#include "COM_result.hh"
11
12namespace 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. */
23 const Result &input,
25 const float2 &radius);
26
27} // namespace blender::compositor
#define input
#define output
void recursive_gaussian_blur(Context &context, const Result &input, Result &output, const float2 &radius)
VecBase< float, 2 > float2