Blender V4.3
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
10namespace blender::compositor {
11
13
15 protected:
17
18 protected:
20
21 public:
22 void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
23};
24
26 private:
30 const NodeDenoise *settings_;
31
32 public:
34
35 void set_denoise_settings(const NodeDenoise *settings)
36 {
37 settings_ = settings;
38 }
39
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
54 private:
55 std::string image_name_;
56
57 public:
59
61 {
62 image_name_ = name;
63 }
64
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
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.
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void set_denoise_settings(const NodeDenoise *settings)
void generate_denoise(MemoryBuffer *output, MemoryBuffer *input_color, MemoryBuffer *input_normal, MemoryBuffer *input_albedo, const NodeDenoise *settings)
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
a MemoryBuffer contains access to the data
NodeOperation contains calculation logic.
DataType
possible data types for sockets
Definition COM_defines.h:21