Euphoria
palette_mycarta.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "core/palette.h"
4 
5 /*
6 I created three color palettes for structure maps (seismic horizons, elevation maps, etcetera) and seismic attributes.
7 https://mycarta.wordpress.com/color-palettes/
8 */
9 
10 
12 {
13  constexpr Rgbi
14  con(unsigned char r, unsigned char g, unsigned char b)
15  {
16  return {r, g, b};
17  }
18 
19 
20  constexpr auto cube_1 = make_static_palette
21  (
22  "Cube1",
23  con(120, 0, 133), con(121, 0, 136),
24  con(122, 0, 139), con(123, 1, 142), con(124, 1, 145),
25  con(125, 2, 148), con(126, 2, 151), con(127, 3, 153),
26  con(128, 4, 156), con(128, 5, 159), con(129, 5, 162),
27  con(129, 6, 165), con(130, 8, 167), con(130, 9, 170),
28  con(131, 10, 173), con(131, 11, 176), con(131, 12, 178),
29  con(131, 13, 181), con(131, 15, 184), con(131, 17, 186),
30  con(131, 19, 189), con(131, 22, 192), con(130, 25, 194),
31  con(130, 28, 197), con(130, 31, 200), con(130, 34, 202),
32  con(129, 38, 205), con(129, 42, 208), con(129, 45, 210),
33  con(128, 49, 213), con(128, 52, 215), con(127, 55, 217),
34  con(127, 59, 220), con(126, 61, 222), con(126, 64, 224),
35  con(126, 66, 226), con(125, 69, 228), con(124, 71, 230),
36  con(123, 73, 233), con(122, 75, 235), con(121, 77, 237),
37  con(120, 79, 240), con(119, 81, 242), con(118, 83, 244),
38  con(117, 85, 246), con(116, 87, 247), con(115, 89, 249),
39  con(114, 91, 250), con(113, 93, 252), con(112, 94, 252),
40  con(111, 96, 253), con(110, 98, 253), con(109, 100, 253),
41  con(108, 102, 253), con(107, 104, 253), con(106, 107, 252),
42  con(105, 109, 252), con(104, 111, 251), con(103, 113, 251),
43  con(102, 115, 250), con(102, 117, 249), con(101, 119, 248),
44  con(100, 121, 247), con(99, 123, 247), con(98, 125, 246),
45  con(97, 126, 245), con(96, 128, 244), con(95, 130, 243),
46  con(94, 132, 242), con(93, 134, 241), con(92, 135, 240),
47  con(91, 137, 239), con(90, 138, 238), con(89, 140, 236),
48  con(88, 142, 235), con(87, 143, 234), con(86, 145, 232),
49  con(85, 146, 230), con(83, 148, 229), con(82, 149, 227),
50  con(81, 151, 226), con(80, 152, 224), con(79, 153, 222),
51  con(78, 155, 221), con(77, 156, 219), con(76, 158, 217),
52  con(74, 159, 215), con(73, 161, 214), con(72, 162, 212),
53  con(70, 164, 210), con(69, 165, 208), con(67, 167, 206),
54  con(66, 168, 204), con(64, 170, 202), con(63, 171, 201),
55  con(61, 173, 199), con(60, 174, 197), con(59, 175, 194),
56  con(58, 177, 192), con(57, 178, 190), con(57, 179, 188),
57  con(56, 181, 186), con(56, 182, 184), con(56, 183, 182),
58  con(56, 184, 180), con(57, 185, 178), con(57, 187, 176),
59  con(58, 188, 174), con(58, 189, 171), con(59, 190, 169),
60  con(60, 191, 167), con(61, 192, 165), con(62, 193, 163),
61  con(62, 194, 160), con(63, 195, 158), con(64, 196, 156),
62  con(65, 197, 154), con(66, 198, 151), con(67, 199, 149),
63  con(67, 200, 147), con(68, 201, 145), con(69, 202, 142),
64  con(69, 203, 140), con(70, 203, 138), con(71, 204, 135),
65  con(71, 205, 133), con(72, 206, 131), con(73, 207, 129),
66  con(73, 208, 126), con(74, 208, 124), con(75, 209, 122),
67  con(75, 210, 119), con(76, 211, 117), con(77, 211, 115),
68  con(77, 212, 113), con(78, 213, 111), con(79, 214, 108),
69  con(80, 215, 106), con(80, 216, 104), con(81, 216, 101),
70  con(82, 217, 98), con(82, 218, 96), con(83, 219, 93),
71  con(84, 220, 90), con(84, 221, 87), con(85, 222, 85),
72  con(86, 222, 82), con(87, 223, 80), con(87, 224, 78),
73  con(88, 225, 76), con(89, 225, 75), con(90, 226, 74),
74  con(91, 227, 73), con(92, 227, 73), con(94, 228, 73),
75  con(95, 229, 73), con(97, 229, 73), con(99, 230, 74),
76  con(101, 230, 74), con(104, 231, 74), con(106, 231, 75),
77  con(109, 232, 75), con(111, 232, 76), con(114, 233, 76),
78  con(117, 233, 77), con(120, 234, 78), con(122, 234, 78),
79  con(125, 234, 79), con(128, 235, 79), con(130, 235, 80),
80  con(133, 235, 80), con(135, 235, 80), con(137, 235, 81),
81  con(140, 235, 81), con(142, 235, 82), con(145, 235, 82),
82  con(147, 235, 82), con(150, 236, 83), con(152, 236, 83),
83  con(155, 236, 84), con(157, 236, 84), con(160, 236, 84),
84  con(162, 236, 85), con(165, 236, 85), con(167, 236, 85),
85  con(169, 236, 86), con(171, 236, 86), con(173, 236, 86),
86  con(175, 236, 87), con(177, 236, 87), con(180, 236, 87),
87  con(182, 236, 87), con(184, 236, 88), con(185, 236, 88),
88  con(187, 236, 88), con(189, 236, 88), con(191, 236, 89),
89  con(193, 236, 89), con(195, 236, 89), con(196, 236, 89),
90  con(198, 236, 89), con(200, 236, 89), con(201, 236, 90),
91  con(203, 236, 90), con(204, 236, 90), con(205, 236, 90),
92  con(207, 236, 90), con(208, 235, 90), con(209, 234, 91),
93  con(210, 234, 91), con(211, 233, 91), con(212, 232, 91),
94  con(213, 230, 91), con(214, 229, 91), con(215, 228, 91),
95  con(216, 226, 91), con(217, 225, 91), con(218, 224, 92),
96  con(219, 222, 92), con(220, 221, 92), con(221, 219, 92),
97  con(222, 218, 92), con(223, 217, 92), con(224, 215, 92),
98  con(226, 214, 92), con(227, 213, 93), con(229, 211, 93),
99  con(230, 210, 93), con(231, 208, 93), con(233, 206, 93),
100  con(234, 205, 93), con(236, 203, 93), con(237, 201, 94),
101  con(238, 200, 94), con(239, 198, 94), con(240, 196, 94),
102  con(241, 194, 94), con(242, 192, 94), con(243, 190, 94),
103  con(243, 188, 94), con(244, 186, 94), con(244, 184, 94),
104  con(245, 182, 94), con(245, 180, 94), con(246, 178, 94),
105  con(246, 176, 93), con(247, 173, 93), con(247, 171, 93),
106  con(248, 168, 93), con(248, 166, 93), con(248, 163, 92),
107  con(249, 161, 92), con(249, 158, 92), con(249, 156, 92),
108  con(249, 153, 91), con(249, 150, 91)
109  );
110 
111  constexpr auto cube_yf = make_static_palette
112  (
113  "CybeYF",
114  con(123, 2, 144), con(123, 3, 146),
115  con(124, 4, 149), con(125, 5, 151), con(126, 6, 153),
116  con(127, 7, 156), con(128, 8, 158), con(129, 9, 160),
117  con(129, 10, 163), con(130, 11, 165), con(131, 12, 168),
118  con(131, 12, 171), con(132, 12, 174), con(133, 13, 177),
119  con(133, 15, 179), con(134, 17, 181), con(134, 19, 184),
120  con(134, 21, 186), con(134, 24, 188), con(134, 26, 190),
121  con(134, 29, 192), con(134, 31, 194), con(134, 34, 196),
122  con(134, 36, 198), con(133, 39, 200), con(133, 41, 203),
123  con(133, 43, 204), con(133, 45, 206), con(132, 47, 208),
124  con(132, 49, 210), con(132, 51, 212), con(131, 53, 214),
125  con(131, 55, 216), con(130, 56, 218), con(130, 58, 219),
126  con(129, 60, 221), con(129, 62, 223), con(128, 64, 224),
127  con(128, 66, 226), con(127, 68, 228), con(127, 69, 230),
128  con(126, 71, 232), con(125, 72, 234), con(125, 74, 235),
129  con(122, 77, 238), con(121, 78, 240), con(120, 80, 241),
130  con(119, 81, 242), con(118, 83, 244), con(117, 84, 245),
131  con(117, 86, 247), con(115, 87, 248), con(115, 89, 250),
132  con(114, 90, 251), con(113, 91, 251), con(113, 92, 252),
133  con(112, 94, 252), con(111, 95, 252), con(110, 97, 253),
134  con(110, 98, 253), con(109, 100, 253), con(108, 101, 254),
135  con(108, 103, 254), con(106, 104, 254), con(106, 106, 254),
136  con(105, 107, 255), con(105, 108, 255), con(104, 110, 255),
137  con(104, 112, 254), con(104, 113, 254), con(103, 115, 253),
138  con(103, 116, 253), con(102, 118, 252), con(101, 119, 251),
139  con(100, 120, 250), con(99, 122, 249), con(98, 124, 248),
140  con(97, 126, 246), con(97, 128, 245), con(96, 130, 244),
141  con(95, 131, 243), con(94, 132, 242), con(93, 134, 241),
142  con(92, 135, 240), con(91, 136, 239), con(90, 137, 238),
143  con(90, 138, 237), con(89, 139, 236), con(88, 141, 234),
144  con(87, 142, 233), con(86, 143, 232), con(85, 144, 231),
145  con(84, 145, 230), con(84, 147, 228), con(82, 148, 227),
146  con(82, 150, 225), con(81, 151, 224), con(80, 152, 223),
147  con(79, 153, 222), con(78, 154, 221), con(77, 156, 219),
148  con(76, 157, 218), con(76, 158, 217), con(75, 159, 216),
149  con(74, 160, 215), con(73, 161, 214), con(72, 163, 212),
150  con(71, 164, 211), con(70, 165, 210), con(69, 167, 208),
151  con(67, 169, 205), con(66, 170, 203), con(65, 171, 202),
152  con(64, 172, 200), con(64, 173, 199), con(63, 174, 197),
153  con(62, 175, 196), con(61, 176, 195), con(60, 177, 193),
154  con(60, 178, 191), con(59, 179, 190), con(58, 180, 189),
155  con(57, 181, 187), con(56, 182, 185), con(56, 182, 184),
156  con(55, 184, 182), con(55, 184, 181), con(56, 185, 179),
157  con(57, 186, 177), con(57, 187, 176), con(58, 188, 175),
158  con(58, 188, 173), con(59, 189, 171), con(59, 190, 170),
159  con(60, 191, 168), con(61, 192, 166), con(61, 192, 164),
160  con(62, 193, 163), con(62, 193, 161), con(63, 194, 159),
161  con(64, 195, 158), con(64, 196, 156), con(65, 197, 153),
162  con(66, 198, 150), con(67, 199, 148), con(67, 200, 147),
163  con(68, 201, 145), con(69, 202, 143), con(69, 202, 141),
164  con(70, 203, 140), con(70, 203, 138), con(70, 204, 136),
165  con(71, 205, 134), con(71, 205, 133), con(72, 206, 131),
166  con(72, 207, 129), con(73, 208, 128), con(73, 208, 126),
167  con(74, 209, 124), con(75, 210, 122), con(75, 210, 120),
168  con(76, 211, 118), con(76, 211, 116), con(77, 212, 114),
169  con(77, 212, 113), con(78, 213, 111), con(79, 214, 109),
170  con(79, 214, 107), con(80, 215, 106), con(80, 215, 104),
171  con(81, 216, 102), con(82, 217, 101), con(82, 217, 100),
172  con(83, 218, 98), con(84, 219, 95), con(85, 220, 92),
173  con(86, 220, 90), con(87, 221, 88), con(88, 222, 87),
174  con(88, 222, 85), con(89, 223, 84), con(89, 223, 82),
175  con(89, 224, 81), con(90, 225, 80), con(90, 225, 79),
176  con(91, 226, 78), con(91, 226, 76), con(92, 227, 74),
177  con(92, 227, 73), con(93, 228, 71), con(95, 229, 71),
178  con(96, 229, 71), con(98, 229, 72), con(99, 229, 72),
179  con(101, 230, 72), con(103, 230, 73), con(104, 231, 73),
180  con(106, 231, 74), con(108, 231, 74), con(110, 232, 75),
181  con(111, 232, 75), con(113, 232, 76), con(115, 233, 77),
182  con(116, 233, 77), con(118, 233, 77), con(120, 233, 77),
183  con(123, 233, 78), con(126, 233, 79), con(130, 234, 80),
184  con(132, 235, 80), con(134, 235, 80), con(136, 235, 81),
185  con(138, 235, 81), con(140, 235, 82), con(142, 235, 82),
186  con(145, 235, 82), con(147, 236, 83), con(149, 236, 83),
187  con(152, 236, 84), con(154, 236, 84), con(156, 236, 84),
188  con(159, 236, 85), con(161, 236, 85), con(163, 236, 85),
189  con(164, 236, 85), con(165, 236, 85), con(166, 236, 86),
190  con(168, 236, 86), con(171, 236, 86), con(172, 236, 86),
191  con(173, 236, 86), con(174, 236, 86), con(176, 236, 87),
192  con(178, 236, 87), con(180, 236, 87), con(180, 236, 87),
193  con(182, 236, 87), con(183, 236, 88), con(184, 236, 88),
194  con(184, 236, 88), con(187, 236, 88), con(189, 236, 88),
195  con(191, 236, 89), con(192, 236, 89), con(192, 236, 89),
196  con(194, 236, 89), con(197, 236, 89), con(199, 236, 90),
197  con(200, 236, 90), con(201, 236, 90), con(202, 236, 90),
198  con(204, 236, 90), con(204, 236, 90), con(205, 236, 90),
199  con(207, 236, 91), con(209, 235, 91)
200  );
201 
202 
203  constexpr auto linear_l = make_static_palette
204  (
205  "LinearL",
206  con(4, 4, 4), con(10, 3, 8),
207  con(13, 4, 11), con(16, 5, 14), con(18, 5, 16),
208  con(21, 6, 18), con(22, 7, 19), con(24, 8, 21),
209  con(26, 8, 22), con(27, 9, 24), con(28, 10, 25),
210  con(30, 11, 26), con(31, 12, 27), con(32, 12, 28),
211  con(33, 13, 29), con(35, 14, 31), con(36, 14, 32),
212  con(37, 15, 32), con(38, 15, 33), con(39, 16, 34),
213  con(40, 17, 35), con(41, 17, 36), con(42, 18, 38),
214  con(43, 19, 38), con(44, 19, 39), con(46, 20, 41),
215  con(46, 20, 45), con(46, 21, 50), con(45, 21, 55),
216  con(45, 21, 60), con(45, 22, 64), con(45, 23, 67),
217  con(45, 23, 71), con(45, 24, 75), con(45, 24, 77),
218  con(45, 25, 81), con(45, 25, 84), con(44, 26, 87),
219  con(44, 27, 90), con(45, 27, 92), con(45, 28, 95),
220  con(44, 29, 98), con(44, 29, 100), con(44, 30, 103),
221  con(44, 31, 106), con(44, 31, 109), con(44, 32, 110),
222  con(44, 33, 113), con(44, 34, 116), con(43, 34, 118),
223  con(42, 35, 121), con(40, 38, 120), con(38, 40, 119),
224  con(36, 42, 120), con(34, 44, 120), con(33, 46, 120),
225  con(32, 47, 120), con(31, 49, 121), con(30, 50, 122),
226  con(30, 51, 123), con(29, 52, 123), con(29, 53, 125),
227  con(28, 55, 125), con(28, 56, 126), con(27, 57, 127),
228  con(28, 58, 128), con(28, 59, 129), con(27, 60, 129),
229  con(27, 61, 131), con(27, 62, 132), con(27, 63, 133),
230  con(28, 64, 134), con(27, 65, 135), con(27, 66, 136),
231  con(27, 68, 137), con(27, 69, 138), con(25, 71, 136),
232  con(22, 73, 134), con(21, 74, 133), con(20, 76, 131),
233  con(17, 78, 129), con(16, 79, 128), con(15, 81, 126),
234  con(14, 82, 125), con(10, 84, 123), con(10, 85, 122),
235  con(9, 87, 120), con(8, 88, 119), con(7, 89, 118),
236  con(6, 91, 117), con(4, 92, 115), con(4, 94, 114),
237  con(4, 95, 114), con(3, 96, 112), con(1, 98, 111),
238  con(1, 99, 110), con(0, 100, 109), con(0, 101, 108),
239  con(0, 103, 107), con(0, 104, 106), con(0, 105, 105),
240  con(0, 107, 104), con(0, 108, 101), con(0, 110, 100),
241  con(0, 111, 99), con(0, 112, 98), con(0, 114, 96),
242  con(0, 115, 95), con(0, 116, 93), con(0, 118, 92),
243  con(0, 119, 90), con(0, 120, 89), con(0, 121, 88),
244  con(0, 123, 86), con(0, 124, 85), con(0, 125, 83),
245  con(0, 127, 82), con(0, 128, 80), con(0, 129, 79),
246  con(0, 131, 77), con(0, 132, 75), con(0, 133, 73),
247  con(0, 134, 72), con(0, 136, 70), con(0, 137, 68),
248  con(0, 138, 66), con(0, 139, 65), con(0, 141, 64),
249  con(0, 142, 63), con(0, 143, 61), con(0, 145, 60),
250  con(0, 146, 60), con(0, 147, 58), con(0, 149, 57),
251  con(0, 150, 56), con(0, 151, 55), con(0, 153, 53),
252  con(0, 154, 52), con(0, 155, 51), con(0, 157, 50),
253  con(0, 158, 48), con(0, 159, 47), con(0, 160, 45),
254  con(0, 162, 44), con(0, 163, 42), con(0, 164, 41),
255  con(0, 165, 39), con(0, 167, 36), con(0, 168, 34),
256  con(0, 169, 31), con(0, 170, 23), con(0, 169, 8),
257  con(9, 170, 0), con(20, 171, 0), con(29, 172, 0),
258  con(35, 173, 0), con(40, 174, 0), con(45, 175, 0),
259  con(48, 176, 0), con(52, 177, 0), con(55, 178, 0),
260  con(59, 179, 0), con(61, 180, 0), con(64, 181, 0),
261  con(66, 182, 0), con(68, 183, 0), con(71, 184, 0),
262  con(73, 185, 0), con(76, 186, 0), con(78, 187, 0),
263  con(79, 188, 0), con(81, 189, 0), con(83, 190, 0),
264  con(85, 191, 0), con(87, 192, 0), con(92, 193, 0),
265  con(99, 193, 0), con(106, 193, 0), con(114, 193, 0),
266  con(119, 194, 0), con(125, 194, 0), con(130, 194, 0),
267  con(135, 195, 0), con(140, 195, 0), con(145, 195, 0),
268  con(149, 196, 0), con(153, 196, 0), con(157, 197, 0),
269  con(161, 197, 0), con(165, 197, 0), con(169, 198, 0),
270  con(172, 198, 0), con(176, 199, 0), con(180, 199, 0),
271  con(184, 199, 0), con(186, 200, 0), con(190, 201, 0),
272  con(193, 201, 0), con(197, 201, 0), con(200, 202, 0),
273  con(201, 201, 24), con(203, 202, 51), con(206, 202, 65),
274  con(207, 203, 77), con(209, 203, 87), con(212, 203, 95),
275  con(213, 204, 103), con(215, 205, 109), con(218, 205, 116),
276  con(219, 206, 121), con(221, 207, 127), con(223, 207, 132),
277  con(226, 207, 138), con(227, 208, 143), con(229, 209, 147),
278  con(231, 209, 151), con(232, 210, 155), con(235, 211, 159),
279  con(237, 211, 164), con(238, 212, 168), con(240, 212, 172),
280  con(243, 213, 175), con(243, 214, 179), con(245, 214, 183),
281  con(248, 215, 186), con(248, 216, 189), con(248, 218, 193),
282  con(247, 219, 195), con(247, 220, 198), con(247, 222, 201),
283  con(248, 223, 204), con(247, 224, 206), con(247, 226, 209),
284  con(247, 227, 211), con(247, 229, 214), con(247, 230, 216),
285  con(247, 231, 218), con(247, 232, 220), con(248, 234, 224),
286  con(247, 235, 225), con(247, 236, 229), con(247, 238, 231),
287  con(247, 239, 232), con(248, 240, 235), con(248, 242, 237),
288  con(247, 243, 239), con(248, 244, 241), con(248, 246, 244),
289  con(248, 247, 246), con(248, 248, 248), con(249, 249, 249),
290  con(251, 251, 251), con(252, 252, 252), con(253, 253, 253),
291  con(254, 254, 254), con(255, 255, 255)
292  );
293 }
constexpr Rgbi con(unsigned char r, unsigned char g, unsigned char b)
constexpr StaticPalette< sizeof...(T)> make_static_palette(const std::string_view &name, T... colors)
Definition: palette.h:92
Definition: rgb.h:26