Blender V4.3
COM_MultiThreadedOperation.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 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
12 protected:
21
22 protected:
24
28 virtual void update_memory_buffer_started(MemoryBuffer * /*output*/,
29 const rcti & /*area*/,
30 Span<MemoryBuffer *> /*inputs*/)
31 {
32 }
33
38 const rcti &area,
39 Span<MemoryBuffer *> inputs) = 0;
40
45 const rcti & /*area*/,
46 Span<MemoryBuffer *> /*inputs*/)
47 {
48 }
49
50 private:
51 void update_memory_buffer(MemoryBuffer *output,
52 const rcti &area,
53 Span<MemoryBuffer *> inputs) override;
54};
55
56} // namespace blender::compositor
a MemoryBuffer contains access to the data
virtual void update_memory_buffer_started(MemoryBuffer *, const rcti &, Span< MemoryBuffer * >)
virtual void update_memory_buffer_finished(MemoryBuffer *, const rcti &, Span< MemoryBuffer * >)
virtual void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs)=0
NodeOperation contains calculation logic.