Loading...
Searching...
No Matches
backbone.h
Go to the documentation of this file.
1#ifndef _BBM_NATIVE_BACKBONE_H_
2#define _BBM_NATIVE_BACKBONE_H_
3
5
6#include "backbone/array.h"
7#include "backbone/complex.h"
8#include "backbone/vec.h"
9#include "backbone/color.h"
10#include "backbone/type_traits.h"
11#include "backbone/control.h"
12#include "backbone/math.h"
13#include "backbone/horizontal.h"
14#include "backbone/random.h"
15#include "backbone/python.h"
16#include "backbone/stringconvert.h"
17
18/************************************************************************/
19/*! \file backbone.h
20
21 \brief Define the available configurations for the backbone
22
23*************************************************************************/
24
25namespace bbm {
26
27 /*** Implementation detail ***/
28 namespace detail {
29 template<typename VALUE, string_literal NAME, typename CONF>
30 struct rgbConfig
31 {
32 static constexpr string_literal name = NAME;
33 using Config = CONF;
34 using Value = VALUE;
35 using Spectrum = backbone::color<Value>;
36 static Spectrum wavelength(void) { return {0.645, 0.526, 0.444}; } // in micron
37 };
38 }
39
40 /*** Default configurations ***/
41 struct floatRGB : public detail::rgbConfig<float, "floatRGB", floatRGB> {};
42 struct doubleRGB : public detail::rgbConfig<double, "doubleRGB", doubleRGB> {};
43
44} // end bbm namespace
45
46#endif /* _BBM_NATIVE_BACKBONE_H_ */
drjit::Array< T, 3 > color
Definition: color.h:13
Definition: aggregatebsdf.h:29