Blender
V3.3
source
blender
compositor
operations
COM_GaussianAlphaBlurBaseOperation.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2021 Blender Foundation. */
3
4
#pragma once
5
6
#include "
COM_BlurBaseOperation.h
"
7
8
namespace
blender::compositor
{
9
10
class
GaussianAlphaBlurBaseOperation
:
public
BlurBaseOperation
{
11
protected
:
12
float
*
gausstab_
;
13
float
*
distbuf_inv_
;
14
int
falloff_
;
/* Falloff for #distbuf_inv. */
15
bool
do_subtract_
;
16
int
filtersize_
;
17
float
rad_
;
18
eDimension
dimension_
;
19
20
public
:
21
GaussianAlphaBlurBaseOperation
(
eDimension
dim);
22
23
virtual
void
init_data
()
override
;
24
virtual
void
init_execution
()
override
;
25
virtual
void
deinit_execution
()
override
;
26
27
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
final
;
28
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
29
const
rcti
&
area
,
30
Span<MemoryBuffer *>
inputs
)
final
;
31
35
void
set_subtract
(
bool
subtract)
36
{
37
do_subtract_
= subtract;
38
}
39
void
set_falloff
(
int
falloff)
40
{
41
falloff_
= falloff;
42
}
43
44
BLI_INLINE
float
finv_test
(
const
float
f,
const
bool
test)
45
{
46
return
(
LIKELY
(test ==
false
)) ? f : 1.0f - f;
47
}
48
};
49
50
}
// namespace blender::compositor
BLI_INLINE
#define BLI_INLINE
Definition:
BLI_compiler_compat.h:36
LIKELY
#define LIKELY(x)
Definition:
BLI_utildefines.h:752
COM_BlurBaseOperation.h
blender::Span
Definition:
BLI_span.hh:73
blender::compositor::BlurBaseOperation
Definition:
COM_BlurBaseOperation.h:15
blender::compositor::GaussianAlphaBlurBaseOperation
Definition:
COM_GaussianAlphaBlurBaseOperation.h:10
blender::compositor::GaussianAlphaBlurBaseOperation::falloff_
int falloff_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:14
blender::compositor::GaussianAlphaBlurBaseOperation::finv_test
BLI_INLINE float finv_test(const float f, const bool test)
Definition:
COM_GaussianAlphaBlurBaseOperation.h:44
blender::compositor::GaussianAlphaBlurBaseOperation::do_subtract_
bool do_subtract_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:15
blender::compositor::GaussianAlphaBlurBaseOperation::init_execution
virtual void init_execution() override
Definition:
COM_GaussianAlphaBlurBaseOperation.cc:27
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:51
blender::compositor::GaussianAlphaBlurBaseOperation::set_falloff
void set_falloff(int falloff)
Definition:
COM_GaussianAlphaBlurBaseOperation.h:39
blender::compositor::GaussianAlphaBlurBaseOperation::dimension_
eDimension dimension_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:18
blender::compositor::GaussianAlphaBlurBaseOperation::rad_
float rad_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:17
blender::compositor::GaussianAlphaBlurBaseOperation::gausstab_
float * gausstab_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:12
blender::compositor::GaussianAlphaBlurBaseOperation::set_subtract
void set_subtract(bool subtract)
Definition:
COM_GaussianAlphaBlurBaseOperation.h:35
blender::compositor::GaussianAlphaBlurBaseOperation::GaussianAlphaBlurBaseOperation
GaussianAlphaBlurBaseOperation(eDimension dim)
Definition:
COM_GaussianAlphaBlurBaseOperation.cc:8
blender::compositor::GaussianAlphaBlurBaseOperation::distbuf_inv_
float * distbuf_inv_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:13
blender::compositor::GaussianAlphaBlurBaseOperation::init_data
virtual void init_data() override
Definition:
COM_GaussianAlphaBlurBaseOperation.cc:17
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:73
blender::compositor::GaussianAlphaBlurBaseOperation::deinit_execution
virtual void deinit_execution() override
Definition:
COM_GaussianAlphaBlurBaseOperation.cc:36
blender::compositor::GaussianAlphaBlurBaseOperation::filtersize_
int filtersize_
Definition:
COM_GaussianAlphaBlurBaseOperation.h:16
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data of a chunk
Definition:
COM_MemoryBuffer.h:43
output
ccl_global KernelShaderEvalInput ccl_global float * output
Definition:
kernel/device/gpu/kernel.h:751
blender::compositor
Definition:
COM_defines.h:10
blender::compositor::area
static void area(int d1, int d2, int e1, int e2, float weights[2])
Definition:
COM_SMAAOperation.cc:113
blender::compositor::eDimension
eDimension
Definition:
COM_defines.h:24
inputs
static bNodeSocketTemplate inputs[]
Definition:
node_texture_at.c:11
rcti
Definition:
DNA_vec_types.h:62
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1