Blender
V4.3
source
blender
compositor
operations
COM_GaussianAlphaBlurBaseOperation.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2021 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
COM_BlurBaseOperation.h
"
8
9
namespace
blender::compositor
{
10
11
class
GaussianAlphaBlurBaseOperation
:
public
BlurBaseOperation
{
12
protected
:
13
float
*
gausstab_
;
14
float
*
distbuf_inv_
;
15
int
falloff_
;
/* Falloff for #distbuf_inv. */
16
bool
do_subtract_
;
17
int
filtersize_
;
18
float
rad_
;
19
eDimension
dimension_
;
20
21
public
:
22
GaussianAlphaBlurBaseOperation
(
eDimension
dim);
23
24
virtual
void
init_data
()
override
;
25
virtual
void
init_execution
()
override
;
26
virtual
void
deinit_execution
()
override
;
27
28
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
final
;
29
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
30
const
rcti
&area,
31
Span<MemoryBuffer *>
inputs
)
final
;
32
36
void
set_subtract
(
bool
subtract)
37
{
38
do_subtract_
= subtract;
39
}
40
void
set_falloff
(
int
falloff)
41
{
42
falloff_
= falloff;
43
}
44
45
BLI_INLINE
float
finv_test
(
const
float
f,
const
bool
test)
46
{
47
return
(
LIKELY
(test ==
false
)) ? f : 1.0f - f;
48
}
49
};
50
51
class
GaussianAlphaXBlurOperation
:
public
GaussianAlphaBlurBaseOperation
{
52
public
:
53
GaussianAlphaXBlurOperation
() :
GaussianAlphaBlurBaseOperation
(
eDimension
::
X
) {}
54
};
55
56
class
GaussianAlphaYBlurOperation
:
public
GaussianAlphaBlurBaseOperation
{
57
public
:
58
GaussianAlphaYBlurOperation
() :
GaussianAlphaBlurBaseOperation
(
eDimension
::
Y
) {}
59
};
60
61
}
// namespace blender::compositor
BLI_INLINE
#define BLI_INLINE
Definition
BLI_compiler_compat.h:37
LIKELY
#define LIKELY(x)
Definition
BLI_utildefines.h:553
COM_BlurBaseOperation.h
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::BlurBaseOperation::BlurBaseOperation
BlurBaseOperation(DataType data_type8)
Definition
COM_BlurBaseOperation.cc:12
blender::compositor::GaussianAlphaBlurBaseOperation::falloff_
int falloff_
Definition
COM_GaussianAlphaBlurBaseOperation.h:15
blender::compositor::GaussianAlphaBlurBaseOperation::finv_test
BLI_INLINE float finv_test(const float f, const bool test)
Definition
COM_GaussianAlphaBlurBaseOperation.h:45
blender::compositor::GaussianAlphaBlurBaseOperation::do_subtract_
bool do_subtract_
Definition
COM_GaussianAlphaBlurBaseOperation.h:16
blender::compositor::GaussianAlphaBlurBaseOperation::init_execution
virtual void init_execution() override
Definition
COM_GaussianAlphaBlurBaseOperation.cc:26
blender::compositor::GaussianAlphaBlurBaseOperation::get_area_of_interest
void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) final
Get input operation area being read by this operation on rendering given output area.
Definition
COM_GaussianAlphaBlurBaseOperation.cc:48
blender::compositor::GaussianAlphaBlurBaseOperation::set_falloff
void set_falloff(int falloff)
Definition
COM_GaussianAlphaBlurBaseOperation.h:40
blender::compositor::GaussianAlphaBlurBaseOperation::dimension_
eDimension dimension_
Definition
COM_GaussianAlphaBlurBaseOperation.h:19
blender::compositor::GaussianAlphaBlurBaseOperation::rad_
float rad_
Definition
COM_GaussianAlphaBlurBaseOperation.h:18
blender::compositor::GaussianAlphaBlurBaseOperation::gausstab_
float * gausstab_
Definition
COM_GaussianAlphaBlurBaseOperation.h:13
blender::compositor::GaussianAlphaBlurBaseOperation::set_subtract
void set_subtract(bool subtract)
Definition
COM_GaussianAlphaBlurBaseOperation.h:36
blender::compositor::GaussianAlphaBlurBaseOperation::GaussianAlphaBlurBaseOperation
GaussianAlphaBlurBaseOperation(eDimension dim)
Definition
COM_GaussianAlphaBlurBaseOperation.cc:9
blender::compositor::GaussianAlphaBlurBaseOperation::distbuf_inv_
float * distbuf_inv_
Definition
COM_GaussianAlphaBlurBaseOperation.h:14
blender::compositor::GaussianAlphaBlurBaseOperation::init_data
virtual void init_data() override
Definition
COM_GaussianAlphaBlurBaseOperation.cc:18
blender::compositor::GaussianAlphaBlurBaseOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) final
Definition
COM_GaussianAlphaBlurBaseOperation.cc:70
blender::compositor::GaussianAlphaBlurBaseOperation::deinit_execution
virtual void deinit_execution() override
Definition
COM_GaussianAlphaBlurBaseOperation.cc:33
blender::compositor::GaussianAlphaBlurBaseOperation::filtersize_
int filtersize_
Definition
COM_GaussianAlphaBlurBaseOperation.h:17
blender::compositor::GaussianAlphaXBlurOperation::GaussianAlphaXBlurOperation
GaussianAlphaXBlurOperation()
Definition
COM_GaussianAlphaBlurBaseOperation.h:53
blender::compositor::GaussianAlphaYBlurOperation::GaussianAlphaYBlurOperation
GaussianAlphaYBlurOperation()
Definition
COM_GaussianAlphaBlurBaseOperation.h:58
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
blender::compositor::eDimension
eDimension
Definition
COM_defines.h:15
blender::compositor::eDimension::X
@ X
Definition
COM_defines.h:15
blender::compositor::eDimension::Y
@ Y
Definition
COM_defines.h:15
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0