CalcMySky  v0.3.1
data.hpp
1 #ifndef INCLUDE_ONCE_60F008D3_578F_4231_998C_EBB05192B4B7
2 #define INCLUDE_ONCE_60F008D3_578F_4231_998C_EBB05192B4B7
3 
4 #include <set>
5 #include <map>
6 #include <cmath>
7 #include <array>
8 #include <vector>
9 #include <memory>
10 #include <QOpenGLShader>
11 #include <glm/glm.hpp>
12 #include "const.hpp"
13 #include "../common/AtmosphereParameters.hpp"
14 
15 inline std::map<QString, QString> virtualSourceFiles;
16 inline std::map<QString, QString> virtualHeaderFiles;
17 
18 inline GLuint vao, vbo;
19 enum FBOId
20 {
21  FBO_FOR_TEXTURE_SAVING,
22  FBO_TRANSMITTANCE,
23  FBO_IRRADIANCE,
24  FBO_DELTA_SCATTERING,
25  FBO_SINGLE_SCATTERING,
26  FBO_MULTIPLE_SCATTERING,
27  FBO_ECLIPSED_DOUBLE_SCATTERING,
28  FBO_LIGHT_POLLUTION,
29 
30  FBO_COUNT
31 };
32 inline GLuint fbos[FBO_COUNT];
33 enum TextureId
34 {
35  TEX_TRANSMITTANCE,
36  TEX_IRRADIANCE,
37  TEX_DELTA_IRRADIANCE,
38  TEX_DELTA_SCATTERING,
39  TEX_MULTIPLE_SCATTERING,
40  TEX_DELTA_SCATTERING_DENSITY,
41  TEX_ECLIPSED_DOUBLE_SCATTERING,
42  TEX_LIGHT_POLLUTION_SCATTERING,
43  TEX_LIGHT_POLLUTION_DELTA_SCATTERING,
44  TEX_LIGHT_POLLUTION_SCATTERING_LUMINANCE,
45  TEX_LIGHT_POLLUTION_SCATTERING_PREV_ORDER,
46 
47  TEX_COUNT
48 };
49 inline GLuint textures[TEX_COUNT];
50 // Accumulation of radiance to yield luminance
51 inline std::map<QString/*scatterer name*/, GLuint> accumulatedSingleScatteringTextures;
52 
53 struct Options
54 {
55  unsigned textureSavePrecision = 0; // 0 means not reduced
56  bool openglDebug=false;
57  bool openglDebugFull=false;
58  bool printOpenGLInfoAndQuit=false;
59  bool saveResultAsRadiance=false;
60  bool dbgNoSaveTextures=false;
61  bool dbgNoEDSTextures=false;
62  bool dbgSaveGroundIrradiance=false;
63  bool dbgSaveScatDensityOrder2FromGround=false;
64  bool dbgSaveScatDensity=false;
65  bool dbgSaveDeltaScattering=false;
66  bool dbgSaveAccumScattering=false;
67  bool dbgSaveLightPollutionIntermediateTextures=false;
68 };
69 inline Options opts;
70 inline AtmosphereParameters atmo;
71 
72 #endif
Definition: AtmosphereParameters.hpp:10
Definition: data.hpp:53