Quantum Phenomena Explorer
7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
quantumtonemapping.h
Go to the documentation of this file.
1
/**
2
* @file quantumtonemapping.h
3
* @brief Declares the quantumtonemapping visualization component used by QPE.
4
* @ingroup qpe_graphics
5
*
6
* Source: @c graphics/renderer/quantumtonemapping.h. This file is part of Quantum Phenomena Explorer (QPE),
7
* maintained by Officina Turini. See LICENSE_IT.txt / LICENSE.txt for the
8
* QPE freeware source-available terms and THIRD_PARTY_NOTICES.txt for
9
* third-party components.
10
*/
11
12
#pragma once
13
14
namespace
qpe
{
15
16
/**
17
* @brief Enumerates the supported Quantum Tone Map Operator values.
18
*
19
* The enumeration is part of the typed interface used to keep experiment configuration and analysis routing explicit.
20
*/
21
enum class
QuantumToneMapOperator
22
{
23
Off
= 0,
24
Reinhard
,
25
AcesFilmic
26
};
27
28
/**
29
* @brief Data record containing Quantum Tone Map Sample.
30
*
31
* The structure carries computed data without coupling the numerical component to the GUI or renderer.
32
*/
33
struct
QuantumToneMapSample
34
{
35
float
r
= 0.0f;
36
float
g
= 0.0f;
37
float
b
= 0.0f;
38
};
39
40
// CPU reference for the final HDR -> display tone-mapping pass.
41
// This is display-only: it never modifies psi, probability, or observables.
42
/**
43
* @brief Implements the Quantum Tone Mapping component.
44
*
45
* The class provides one focused service within the QPE architecture and is documented here independently of the experiment-level Help.
46
*/
47
class
QuantumToneMapping
48
{
49
public
:
50
/**
51
* @brief Performs map channel.
52
* @param value Value to assign or evaluate.
53
* @param op The op value used by the operation.
54
*/
55
static
float
mapChannel
(
float
value,
QuantumToneMapOperator
op);
56
/**
57
* @brief Performs apply.
58
* @param hdr The hdr value used by the operation.
59
* @param op The op value used by the operation.
60
*/
61
static
QuantumToneMapSample
apply
(
const
QuantumToneMapSample
&hdr,
62
QuantumToneMapOperator
op);
63
};
64
65
}
// namespace qpe
qpe::QuantumToneMapping
Implements the Quantum Tone Mapping component.
Definition
quantumtonemapping.h:48
qpe::QuantumToneMapping::mapChannel
static float mapChannel(float value, QuantumToneMapOperator op)
Performs map channel.
Definition
quantumtonemapping.cpp:31
qpe::QuantumToneMapping::apply
static QuantumToneMapSample apply(const QuantumToneMapSample &hdr, QuantumToneMapOperator op)
Performs apply.
Definition
quantumtonemapping.cpp:54
qpe
Definition
mainwindow.h:76
qpe::QuantumToneMapOperator
QuantumToneMapOperator
Enumerates the supported Quantum Tone Map Operator values.
Definition
quantumtonemapping.h:22
qpe::QuantumToneMapOperator::Reinhard
@ Reinhard
qpe::QuantumToneMapOperator::AcesFilmic
@ AcesFilmic
qpe::QuantumToneMapOperator::Off
@ Off
qpe::QuantumToneMapSample
Data record containing Quantum Tone Map Sample.
Definition
quantumtonemapping.h:34
qpe::QuantumToneMapSample::r
float r
Definition
quantumtonemapping.h:35
qpe::QuantumToneMapSample::b
float b
Definition
quantumtonemapping.h:37
qpe::QuantumToneMapSample::g
float g
Definition
quantumtonemapping.h:36
graphics
renderer
quantumtonemapping.h
Generated by
1.12.0