Blender
V4.3
source
blender
compositor
operations
COM_TonemapOperation.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 "
COM_MultiThreadedOperation.h
"
8
#include "
DNA_node_types.h
"
9
10
namespace
blender::compositor
{
11
16
typedef
struct
AvgLogLum
{
17
float
al
;
18
float
auto_key
;
19
float
lav
;
20
float
cav
[4];
21
float
igm
;
22
}
AvgLogLum
;
23
28
class
TonemapOperation
:
public
MultiThreadedOperation
{
29
protected
:
33
const
NodeTonemap
*
data_
;
34
38
AvgLogLum
*
cached_instance_
;
39
40
public
:
41
TonemapOperation
();
42
43
void
set_data
(
const
NodeTonemap
*
data
)
44
{
45
data_
=
data
;
46
}
47
48
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
override
;
49
void
update_memory_buffer_started
(
MemoryBuffer
*
output
,
50
const
rcti
&area,
51
Span<MemoryBuffer *>
inputs
)
override
;
52
virtual
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
53
const
rcti
&area,
54
Span<MemoryBuffer *>
inputs
)
override
;
55
};
56
62
class
PhotoreceptorTonemapOperation
:
public
TonemapOperation
{
63
public
:
64
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
65
const
rcti
&area,
66
Span<MemoryBuffer *>
inputs
)
override
;
67
};
68
69
}
// namespace blender::compositor
COM_MultiThreadedOperation.h
DNA_node_types.h
data
data
Definition
bmesh_operator_api_inline.hh:159
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultiThreadedOperation::MultiThreadedOperation
MultiThreadedOperation()
Definition
COM_MultiThreadedOperation.cc:10
blender::compositor::PhotoreceptorTonemapOperation
class of tone-map, implementing the photo-receptor tone-map most parts have already been done in Tone...
Definition
COM_TonemapOperation.h:62
blender::compositor::PhotoreceptorTonemapOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_TonemapOperation.cc:124
blender::compositor::TonemapOperation::data_
const NodeTonemap * data_
settings of the Tone-map
Definition
COM_TonemapOperation.h:33
blender::compositor::TonemapOperation::update_memory_buffer_started
void update_memory_buffer_started(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_TonemapOperation.cc:54
blender::compositor::TonemapOperation::cached_instance_
AvgLogLum * cached_instance_
temporarily cache of the execution storage
Definition
COM_TonemapOperation.h:38
blender::compositor::TonemapOperation::get_area_of_interest
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.
Definition
COM_TonemapOperation.cc:22
blender::compositor::TonemapOperation::set_data
void set_data(const NodeTonemap *data)
Definition
COM_TonemapOperation.h:43
blender::compositor::TonemapOperation::TonemapOperation
TonemapOperation()
Definition
COM_TonemapOperation.cc:13
blender::compositor::TonemapOperation::update_memory_buffer_partial
virtual void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_TonemapOperation.cc:94
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
AvgLogLum
Definition
sequencer/intern/modifier.cc:1081
NodeTonemap
Definition
DNA_node_types.h:1226
blender::compositor::AvgLogLum
temporarily storage during execution of Tone-map
Definition
COM_TonemapOperation.h:16
blender::compositor::AvgLogLum::auto_key
float auto_key
Definition
COM_TonemapOperation.h:18
blender::compositor::AvgLogLum::al
float al
Definition
COM_TonemapOperation.h:17
blender::compositor::AvgLogLum::cav
float cav[4]
Definition
COM_TonemapOperation.h:20
blender::compositor::AvgLogLum::lav
float lav
Definition
COM_TonemapOperation.h:19
blender::compositor::AvgLogLum::igm
float igm
Definition
COM_TonemapOperation.h:21
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0