1 // Copyright 2021 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3
4 #include "TransferFunction.h"
5
6 namespace ospray {
7 namespace sg {
8
9 // Turbo /////////////////////////////////////////////////////////////////////
10
11 struct OSPSG_INTERFACE Turbo : public TransferFunction
12 {
13 Turbo();
14 virtual ~Turbo() override = default;
15 };
16
17 OSP_REGISTER_SG_NODE_NAME(Turbo, transfer_function_turbo);
18
Turbo()19 Turbo::Turbo() : TransferFunction("piecewiseLinear")
20 {
21 colors.clear();
22 colors.emplace_back(0.190, 0.072, 0.232);
23 colors.emplace_back(0.276, 0.421, 0.891);
24 colors.emplace_back(0.158, 0.736, 0.923);
25 colors.emplace_back(0.197, 0.949, 0.595);
26 colors.emplace_back(0.644, 0.990, 0.234);
27 colors.emplace_back(0.933, 0.812, 0.227);
28 colors.emplace_back(0.984, 0.493, 0.128);
29 colors.emplace_back(0.816, 0.185, 0.018);
30 colors.emplace_back(0.480, 0.016, 0.011);
31
32 initOpacities();
33
34 createChildData("color", colors);
35 createChildData("opacity", opacities);
36 }
37
38 // Grayscale /////////////////////////////////////////////////////////////////
39
40 struct OSPSG_INTERFACE Grayscale : public TransferFunction
41 {
42 Grayscale();
43 virtual ~Grayscale() override = default;
44 };
45
46 OSP_REGISTER_SG_NODE_NAME(Grayscale, transfer_function_grayscale);
47
Grayscale()48 Grayscale::Grayscale() : TransferFunction("piecewiseLinear")
49 {
50 colors.clear();
51 colors.emplace_back(0.000, 0.000, 0.000);
52 colors.emplace_back(1.000, 1.000, 1.000);
53
54 initOpacities();
55
56 createChildData("color", colors);
57 createChildData("opacity", opacities);
58 }
59
60 } // namespace sg
61 } // namespace ospray
62