Blender V4.3
COM_GaussianBokehBlurOperation.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include <memory>
8
10#include "COM_NodeOperation.h"
11
12namespace blender::compositor {
13
15 private:
16 float *gausstab_;
17 int radx_, rady_;
18 float radxf_;
19 float radyf_;
20 void update_gauss();
21
22 public:
24 void init_data() override;
25 void init_execution() override;
26 void deinit_execution() override;
27
28 void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
30 const rcti &area,
31 Span<MemoryBuffer *> inputs) override;
32};
33
35 private:
36 std::unique_ptr<MemoryBuffer> weights_;
37
38 void update_gauss();
39 int filtersizex_;
40 int filtersizey_;
41 float radx_;
42 float rady_;
43
44 public:
46 void init_data() override;
47 void init_execution() override;
48
49 void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
51 const rcti &area,
52 Span<MemoryBuffer *> inputs) override;
53};
54
55} // 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_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
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.
a MemoryBuffer contains access to the data