Blender
V4.3
source
blender
compositor
operations
COM_ColorExposureOperation.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2020 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
COM_ColorExposureOperation.h
"
6
7
namespace
blender::compositor
{
8
9
ExposureOperation::ExposureOperation
()
10
{
11
this->
add_input_socket
(
DataType::Color
);
12
this->
add_input_socket
(
DataType::Value
);
13
this->
add_output_socket
(
DataType::Color
);
14
flags_
.
can_be_constant
=
true
;
15
}
16
17
void
ExposureOperation::update_memory_buffer_row
(
PixelCursor
&p)
18
{
19
for
(; p.
out
< p.
row_end
; p.
next
()) {
20
const
float
*in_value = p.
ins
[0];
21
const
float
*in_exposure = p.
ins
[1];
22
const
float
exposure =
pow
(2, in_exposure[0]);
23
p.
out
[0] = in_value[0] * exposure;
24
p.
out
[1] = in_value[1] * exposure;
25
p.
out
[2] = in_value[2] * exposure;
26
p.
out
[3] = in_value[3];
27
}
28
}
29
30
}
// namespace blender::compositor
COM_ColorExposureOperation.h
blender::compositor::ExposureOperation::update_memory_buffer_row
void update_memory_buffer_row(PixelCursor &p) override
Definition
COM_ColorExposureOperation.cc:17
blender::compositor::ExposureOperation::ExposureOperation
ExposureOperation()
Definition
COM_ColorExposureOperation.cc:9
blender::compositor::NodeOperation::add_output_socket
void add_output_socket(DataType datatype)
Definition
COM_NodeOperation.cc:102
blender::compositor::NodeOperation::flags_
NodeOperationFlags flags_
Definition
COM_NodeOperation.h:295
blender::compositor::NodeOperation::add_input_socket
void add_input_socket(DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
Definition
COM_NodeOperation.cc:97
pow
pow(value.r - subtrahend, 2.0)") .do_static_compilation(true)
blender::compositor::DataType::Value
@ Value
Value data type.
blender::compositor::DataType::Color
@ Color
Color data type.
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
blender::compositor::MultiThreadedRowOperation::PixelCursor
Definition
COM_MultiThreadedRowOperation.h:17
blender::compositor::MultiThreadedRowOperation::PixelCursor::next
void next()
Definition
COM_MultiThreadedRowOperation.h:27
blender::compositor::MultiThreadedRowOperation::PixelCursor::out
float * out
Definition
COM_MultiThreadedRowOperation.h:18
blender::compositor::MultiThreadedRowOperation::PixelCursor::row_end
const float * row_end
Definition
COM_MultiThreadedRowOperation.h:20
blender::compositor::MultiThreadedRowOperation::PixelCursor::ins
Array< const float * > ins
Definition
COM_MultiThreadedRowOperation.h:21
blender::compositor::NodeOperationFlags::can_be_constant
bool can_be_constant
Definition
COM_NodeOperation.h:207
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0