Blender V4.3
COM_SummedAreaTableOperation.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "COM_NodeOperation.h"
8
9namespace blender::compositor {
10
15
16 public:
18
19 enum eMode { Identity = 1, Squared };
20
21 void set_mode(const eMode mode);
23
24 void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
25
27 const rcti &area,
28 Span<MemoryBuffer *> inputs) override;
29
30 private:
31 eMode mode_;
32};
33
34/* Computes the sum of the rectangular region defined by the given area from the
35 * given summed area table. All coordinates within the area are included. */
36float4 summed_area_table_sum(MemoryBuffer *buffer, const rcti &area);
37
38} // namespace blender::compositor
a MemoryBuffer contains access to the data
NodeOperation contains calculation logic.
SummedAreaTableOperation class computes the summed area table.
void update_memory_buffer(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.
float4 summed_area_table_sum(MemoryBuffer *buffer, const rcti &area)