Antkeeper  0.0.1
illuminant.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 Christopher J. Howard
3  *
4  * This file is part of Antkeeper source code.
5  *
6  * Antkeeper source code is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Antkeeper source code is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef ANTKEEPER_COLOR_ILLUMINANT_HPP
21 #define ANTKEEPER_COLOR_ILLUMINANT_HPP
22 
23 #include <engine/math/vector.hpp>
24 
25 namespace color {
26 
32 namespace illuminant {
33 
35 namespace deg2 {
36 
37  template <class T>
38  constexpr math::vec2<T> a = {T{0.44757}, T{0.40745}};
39  template <class T>
40  constexpr math::vec2<T> b = {T{0.34842}, T{0.35161}};
41  template <class T>
42  constexpr math::vec2<T> c = {T{0.31006}, T{0.31616}};
43  template <class T>
44  constexpr math::vec2<T> d50 = {T{0.34567}, T{0.35850}};
45  template <class T>
46  constexpr math::vec2<T> d55 = {T{0.33242}, T{0.34743}};
47  template <class T>
48  constexpr math::vec2<T> d65 = {T{0.31271}, T{0.32902}};
49  template <class T>
50  constexpr math::vec2<T> d75 = {T{0.29902}, T{0.31485}};
51  template <class T>
52  constexpr math::vec2<T> d93 = {T{0.28315}, T{0.29711}};
53  template <class T>
54  constexpr math::vec2<T> e = {T{0.33333}, T{0.33333}};
55  template <class T>
56  constexpr math::vec2<T> f1 = {T{0.31310}, T{0.33727}};
57  template <class T>
58  constexpr math::vec2<T> f2 = {T{0.37208}, T{0.37529}};
59  template <class T>
60  constexpr math::vec2<T> f3 = {T{0.40910}, T{0.39430}};
61  template <class T>
62  constexpr math::vec2<T> f4 = {T{0.44018}, T{0.40329}};
63  template <class T>
64  constexpr math::vec2<T> f5 = {T{0.31379}, T{0.34531}};
65  template <class T>
66  constexpr math::vec2<T> f6 = {T{0.37790}, T{0.38835}};
67  template <class T>
68  constexpr math::vec2<T> f7 = {T{0.31292}, T{0.32933}};
69  template <class T>
70  constexpr math::vec2<T> f8 = {T{0.34588}, T{0.35875}};
71  template <class T>
72  constexpr math::vec2<T> f9 = {T{0.37417}, T{0.37281}};
73  template <class T>
74  constexpr math::vec2<T> f10 = {T{0.34609}, T{0.35986}};
75  template <class T>
76  constexpr math::vec2<T> f11 = {T{0.38052}, T{0.37713}};
77  template <class T>
78  constexpr math::vec2<T> f12 = {T{0.43695}, T{0.40441}};
79  template <class T>
80  constexpr math::vec2<T> led_b1 = {T{0.4560}, T{0.4078}};
81  template <class T>
82  constexpr math::vec2<T> led_b2 = {T{0.4357}, T{0.4012}};
83  template <class T>
84  constexpr math::vec2<T> led_b3 = {T{0.3756}, T{0.3723}};
85  template <class T>
86  constexpr math::vec2<T> led_b4 = {T{0.3422}, T{0.3502}};
87  template <class T>
88  constexpr math::vec2<T> led_b5 = {T{0.3118}, T{0.3236}};
89  template <class T>
90  constexpr math::vec2<T> led_bh1 = {T{0.4474}, T{0.4066}};
91  template <class T>
92  constexpr math::vec2<T> led_rgb1 = {T{0.4557}, T{0.4211}};
93  template <class T>
94  constexpr math::vec2<T> led_v1 = {T{0.4560}, T{0.4548}};
95  template <class T>
96  constexpr math::vec2<T> led_v2 = {T{0.3781}, T{0.3775}};
97 
98 } // deg2
99 
101 namespace deg10 {
102 
103  template <class T>
104  constexpr math::vec2<T> a = {T{0.45117}, T{0.40594}};
105  template <class T>
106  constexpr math::vec2<T> b = {T{0.34980}, T{0.35270}};
107  template <class T>
108  constexpr math::vec2<T> c = {T{0.31039}, T{0.31905}};
109  template <class T>
110  constexpr math::vec2<T> d50 = {T{0.34773}, T{0.35952}};
111  template <class T>
112  constexpr math::vec2<T> d55 = {T{0.33411}, T{0.34877}};
113  template <class T>
114  constexpr math::vec2<T> d65 = {T{0.31382}, T{0.33100}};
115  template <class T>
116  constexpr math::vec2<T> d75 = {T{0.29968}, T{0.31740}};
117  template <class T>
118  constexpr math::vec2<T> d93 = {T{0.28327}, T{0.30043}};
119  template <class T>
120  constexpr math::vec2<T> e = {T{0.33333}, T{0.33333}};
121  template <class T>
122  constexpr math::vec2<T> f1 = {T{0.31811}, T{0.33559}};
123  template <class T>
124  constexpr math::vec2<T> f2 = {T{0.37925}, T{0.36733}};
125  template <class T>
126  constexpr math::vec2<T> f3 = {T{0.41761}, T{0.38324}};
127  template <class T>
128  constexpr math::vec2<T> f4 = {T{0.44920}, T{0.39074}};
129  template <class T>
130  constexpr math::vec2<T> f5 = {T{0.31975}, T{0.34246}};
131  template <class T>
132  constexpr math::vec2<T> f6 = {T{0.38660}, T{0.37847}};
133  template <class T>
134  constexpr math::vec2<T> f7 = {T{0.31569}, T{0.32960}};
135  template <class T>
136  constexpr math::vec2<T> f8 = {T{0.34902}, T{0.35939}};
137  template <class T>
138  constexpr math::vec2<T> f9 = {T{0.37829}, T{0.37045}};
139  template <class T>
140  constexpr math::vec2<T> f10 = {T{0.35090}, T{0.35444}};
141  template <class T>
142  constexpr math::vec2<T> f11 = {T{0.38541}, T{0.37123}};
143  template <class T>
144  constexpr math::vec2<T> f12 = {T{0.44256}, T{0.39717}};
145 
146 } // namespace deg10
147 
148 } // namespace illuminant
149 
150 } // namespace color
151 
152 #endif // ANTKEEPER_COLOR_ILLUMINANT_HPP
constexpr math::vec2< T > d93
Definition: illuminant.hpp:118
constexpr math::vec2< T > f5
Definition: illuminant.hpp:130
constexpr math::vec2< T > f10
Definition: illuminant.hpp:140
constexpr math::vec2< T > f9
Definition: illuminant.hpp:138
constexpr math::vec2< T > f3
Definition: illuminant.hpp:126
constexpr math::vec2< T > f12
Definition: illuminant.hpp:144
constexpr math::vec2< T > d50
Definition: illuminant.hpp:110
constexpr math::vec2< T > c
Definition: illuminant.hpp:108
constexpr math::vec2< T > d55
Definition: illuminant.hpp:112
constexpr math::vec2< T > a
Definition: illuminant.hpp:104
constexpr math::vec2< T > f2
Definition: illuminant.hpp:124
constexpr math::vec2< T > d65
Definition: illuminant.hpp:114
constexpr math::vec2< T > f8
Definition: illuminant.hpp:136
constexpr math::vec2< T > f7
Definition: illuminant.hpp:134
constexpr math::vec2< T > f1
Definition: illuminant.hpp:122
constexpr math::vec2< T > b
Definition: illuminant.hpp:106
constexpr math::vec2< T > e
Definition: illuminant.hpp:120
constexpr math::vec2< T > d75
Definition: illuminant.hpp:116
constexpr math::vec2< T > f6
Definition: illuminant.hpp:132
constexpr math::vec2< T > f4
Definition: illuminant.hpp:128
constexpr math::vec2< T > f11
Definition: illuminant.hpp:142
constexpr math::vec2< T > e
Definition: illuminant.hpp:54
constexpr math::vec2< T > f5
Definition: illuminant.hpp:64
constexpr math::vec2< T > d93
Definition: illuminant.hpp:52
constexpr math::vec2< T > f2
Definition: illuminant.hpp:58
constexpr math::vec2< T > led_b4
Definition: illuminant.hpp:86
constexpr math::vec2< T > f1
Definition: illuminant.hpp:56
constexpr math::vec2< T > a
Definition: illuminant.hpp:38
constexpr math::vec2< T > d75
Definition: illuminant.hpp:50
constexpr math::vec2< T > c
Definition: illuminant.hpp:42
constexpr math::vec2< T > led_b3
Definition: illuminant.hpp:84
constexpr math::vec2< T > d55
Definition: illuminant.hpp:46
constexpr math::vec2< T > f4
Definition: illuminant.hpp:62
constexpr math::vec2< T > led_b2
Definition: illuminant.hpp:82
constexpr math::vec2< T > f8
Definition: illuminant.hpp:70
constexpr math::vec2< T > b
Definition: illuminant.hpp:40
constexpr math::vec2< T > led_b5
Definition: illuminant.hpp:88
constexpr math::vec2< T > f9
Definition: illuminant.hpp:72
constexpr math::vec2< T > d65
Definition: illuminant.hpp:48
constexpr math::vec2< T > led_rgb1
Definition: illuminant.hpp:92
constexpr math::vec2< T > led_v2
Definition: illuminant.hpp:96
constexpr math::vec2< T > led_bh1
Definition: illuminant.hpp:90
constexpr math::vec2< T > f6
Definition: illuminant.hpp:66
constexpr math::vec2< T > f3
Definition: illuminant.hpp:60
constexpr math::vec2< T > d50
Definition: illuminant.hpp:44
constexpr math::vec2< T > led_b1
Definition: illuminant.hpp:80
constexpr math::vec2< T > f11
Definition: illuminant.hpp:76
constexpr math::vec2< T > f7
Definition: illuminant.hpp:68
constexpr math::vec2< T > f12
Definition: illuminant.hpp:78
constexpr math::vec2< T > led_v1
Definition: illuminant.hpp:94
constexpr math::vec2< T > f10
Definition: illuminant.hpp:74
Color manipulation.
Definition: aces.hpp:27
n-dimensional vector.
Definition: vector.hpp:43