Blender V4.3
COM_ConvolutionFilterOperation.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
8
9namespace blender::compositor {
10
12 protected:
13 static constexpr int IMAGE_INPUT_INDEX = 0;
14 static constexpr int FACTOR_INPUT_INDEX = 1;
15
16 private:
17 int filter_width_;
18 int filter_height_;
19
20 protected:
21 float filter_[9];
22
23 public:
25 void set3x3Filter(
26 float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9);
27
28 void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) final;
29 virtual void update_memory_buffer_partial(MemoryBuffer *output,
30 const rcti &area,
31 Span<MemoryBuffer *> inputs) override;
32};
33
34} // namespace blender::compositor
virtual 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) final
Get input operation area being read by this operation on rendering given output area.
void set3x3Filter(float f1, float f2, float f3, float f4, float f5, float f6, float f7, float f8, float f9)
a MemoryBuffer contains access to the data