1 #ifndef AtmosphereEngine_AtmosphereShell_h
2 #define AtmosphereEngine_AtmosphereShell_h
14 void setRadiuses(
double _innerRadius,
double _outerRadius,
double _planetRadius,
double _scaling,
int _shellOrder);
15 void setRadiuses(
double _innerRadius,
double _outerRadius,
double _planetRadius);
39 void draw(std::shared_ptr<ge::Camera> _cam);
40 void setShader(std::shared_ptr<ge::Shader> _shader);
45 float lightIntensityMin;
47 void updateUniforms();
48 void updateEnvironments();
55 double universeScaling;
56 vmml::Vector3f camPosition;
57 vmml::Vector2f camViewport;
59 std::vector<at::Sun*> sunEnvironment;
60 std::vector<std::shared_ptr<at::AtmosphereShell> > atmosphereEnvironment;
62 std::shared_ptr<at::AtmosphereComposition> composition;
64 GLfloat* sunPositions;
66 GLfloat* atmosphereRadiuses;
67 GLfloat* atmosphereDensities;
68 GLfloat* atmosphereRefractiveIndexes;
69 GLfloat* sunScreenPositions;
71 GLint uniformSunCount;
72 GLint uniformSunLocations;
73 GLint uniformSunRadiuses;
74 GLint uniformSunScreenLocations;
76 GLint uniformAtmosphereShellCount;
77 GLint uniformShellOrder;
78 GLint uniformPrecomputedExtinction;
79 GLint uniformAtmosphereRadiuses;
80 GLint uniformAtmosphereDensities;
81 GLint uniformAtmosphereRefractiveIndexes;
83 GLint uniformScalingFactor;
85 GLint uniformRayleighMieRelation;
87 GLint uniformLightIntensity;
88 GLint uniformLightIntensityMin;
90 GLint uniformRenderingMode;
92 GLint uniformAtmosphereCenter;
93 GLint uniformInnerRadius;
94 GLint uniformOuterRadius;
95 GLint uniformPlanetRadius;
97 GLint uniformCamLocation;
98 GLint uniformCamViewport;
100 GLint uniformNumberDensity;
101 GLint uniformRefractiveIndex;
102 GLint uniformAtmosphereColorComponent;
void setSunsOnScreen(GLfloat *_vec)
Definition: AtmosphereShell.cpp:32
std::string getChemicalCompounds()
Definition: AtmosphereShell.cpp:241
double getPlanetRadius()
Definition: AtmosphereShell.cpp:74
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: AtmosphereShell.cpp:26
void setLightIntensity(double origin_, double min_)
Definition: AtmosphereShell.cpp:260
AtmosphereShell()
Definition: AtmosphereShell.cpp:11
void setRadiuses(double _innerRadius, double _outerRadius, double _planetRadius, double _scaling, int _shellOrder)
Definition: AtmosphereShell.cpp:36
Definition: AtmosphereShell.h:8
void enable()
Definition: AtmosphereShell.cpp:248
void setSunEnvironment(std::vector< at::Sun * > _sunVec)
Definition: AtmosphereShell.cpp:56
double getInnerRadius()
Definition: AtmosphereShell.cpp:66
~AtmosphereShell()
Definition: AtmosphereShell.cpp:23
void setPosition(vmml::Vector3f _pos)
Definition: AtmosphereShell.cpp:118
void disable()
Definition: AtmosphereShell.cpp:252
void setChemicalCompounds(std::string cStr_)
Definition: AtmosphereShell.cpp:244
void updateCameraPosition(vmml::Vector3f _pos)
Definition: AtmosphereShell.cpp:52
double getOuterRadius()
Definition: AtmosphereShell.cpp:70
Definition: AtmosphereComposition.h:20
std::shared_ptr< at::AtmosphereComposition > getComposition()
Definition: AtmosphereShell.cpp:233
void setComposition(std::shared_ptr< at::AtmosphereComposition > a)
Definition: AtmosphereShell.cpp:229
void updateRenderingMode(int i_)
Definition: AtmosphereShell.cpp:237
void setAtmosphereEnvironment(std::vector< std::shared_ptr< at::AtmosphereShell > > _atVec)
Definition: AtmosphereShell.cpp:61
void setShader(std::shared_ptr< ge::Shader > _shader)
Definition: AtmosphereShell.cpp:78
bool isEnabled()
Definition: AtmosphereShell.cpp:256