Blender
V4.3
source
blender
compositor
operations
COM_DenoiseOperation.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2019 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
COM_NodeOperation.h
"
8
#include "
DNA_node_types.h
"
9
10
namespace
blender::compositor
{
11
12
bool
COM_is_denoise_supported
();
13
14
class
DenoiseBaseOperation
:
public
NodeOperation
{
15
protected
:
16
bool
output_rendered_
;
17
18
protected
:
19
DenoiseBaseOperation
();
20
21
public
:
22
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
override
;
23
};
24
25
class
DenoiseOperation
:
public
DenoiseBaseOperation
{
26
private
:
30
const
NodeDenoise
*settings_;
31
32
public
:
33
DenoiseOperation
();
34
35
void
set_denoise_settings
(
const
NodeDenoise
*settings)
36
{
37
settings_ = settings;
38
}
39
40
void
update_memory_buffer
(
MemoryBuffer
*
output
,
41
const
rcti
&area,
42
Span<MemoryBuffer *>
inputs
)
override
;
43
44
protected
:
45
void
hash_output_params
()
override
;
46
void
generate_denoise
(
MemoryBuffer
*
output
,
47
MemoryBuffer
*input_color,
48
MemoryBuffer
*input_normal,
49
MemoryBuffer
*input_albedo,
50
const
NodeDenoise
*settings);
51
};
52
53
class
DenoisePrefilterOperation
:
public
DenoiseBaseOperation
{
54
private
:
55
std::string image_name_;
56
57
public
:
58
DenoisePrefilterOperation
(
DataType
data_type);
59
60
void
set_image_name
(
StringRef
name)
61
{
62
image_name_ = name;
63
}
64
65
void
update_memory_buffer
(
MemoryBuffer
*
output
,
66
const
rcti
&area,
67
Span<MemoryBuffer *>
inputs
)
override
;
68
69
protected
:
70
void
hash_output_params
()
override
;
71
72
private
:
73
void
generate_denoise(
MemoryBuffer
*
output
,
MemoryBuffer
*input);
74
};
75
76
}
// namespace blender::compositor
COM_NodeOperation.h
DNA_node_types.h
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::StringRef
Definition
BLI_string_ref.hh:128
blender::compositor::DenoiseBaseOperation::output_rendered_
bool output_rendered_
Definition
COM_DenoiseOperation.h:16
blender::compositor::DenoiseBaseOperation::DenoiseBaseOperation
DenoiseBaseOperation()
Definition
COM_DenoiseOperation.cc:117
blender::compositor::DenoiseBaseOperation::get_area_of_interest
void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override
Get input operation area being read by this operation on rendering given output area.
Definition
COM_DenoiseOperation.cc:123
blender::compositor::DenoiseOperation::DenoiseOperation
DenoiseOperation()
Definition
COM_DenoiseOperation.cc:130
blender::compositor::DenoiseOperation::update_memory_buffer
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_DenoiseOperation.cc:196
blender::compositor::DenoiseOperation::set_denoise_settings
void set_denoise_settings(const NodeDenoise *settings)
Definition
COM_DenoiseOperation.h:35
blender::compositor::DenoiseOperation::generate_denoise
void generate_denoise(MemoryBuffer *output, MemoryBuffer *input_color, MemoryBuffer *input_normal, MemoryBuffer *input_albedo, const NodeDenoise *settings)
Definition
COM_DenoiseOperation.cc:158
blender::compositor::DenoiseOperation::hash_output_params
void hash_output_params() override
Definition
COM_DenoiseOperation.cc:151
blender::compositor::DenoisePrefilterOperation::hash_output_params
void hash_output_params() override
Definition
COM_DenoiseOperation.cc:213
blender::compositor::DenoisePrefilterOperation::DenoisePrefilterOperation
DenoisePrefilterOperation(DataType data_type)
Definition
COM_DenoiseOperation.cc:206
blender::compositor::DenoisePrefilterOperation::update_memory_buffer
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_DenoiseOperation.cc:234
blender::compositor::DenoisePrefilterOperation::set_image_name
void set_image_name(StringRef name)
Definition
COM_DenoiseOperation.h:60
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::NodeOperation::NodeOperation
NodeOperation()
Definition
COM_NodeOperation.cc:18
blender::compositor::DataType
DataType
possible data types for sockets
Definition
COM_defines.h:21
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
blender::compositor::COM_is_denoise_supported
bool COM_is_denoise_supported()
Definition
COM_DenoiseOperation.cc:15
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
NodeDenoise
Definition
DNA_node_types.h:1561
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0