This file "provides" the C++ implementation of our atmosphere model. In fact the real implementation is provided in the corresponding GLSL file, which is included here, after the definition of the macros which are needed to be able to compile this GLSL code as C++.
#include "atmosphere/reference/functions.h" #include <cassert> #define IN(x) const x& #define OUT(x) x& #define TEMPLATE(x) template<class x> #define TEMPLATE_ARGUMENT(x) <x> namespace atmosphere { namespace reference { using std::max; using std::min; #include "atmosphere/functions.glsl" } // namespace reference } // namespace atmosphere