GlobeEngine
PlanetNight.h
Go to the documentation of this file.
1 
8 #ifndef AtmosphereEngine_PlanetNight_h
9 #define AtmosphereEngine_PlanetNight_h
10 #include "Sun.h"
11 #include "AtmosphereShell.h"
12 #include "Camera.h"
13 #include "Texture.h"
14 
15 namespace at {
16  class PlanetNight : public ge::Sphere
17  {
18  public:
19  PlanetNight();
20  ~PlanetNight();
21  void setSunEnvironment(std::vector<at::Sun*> _sunVec);
22  void updateUniforms();
23  void setRadius(float _radius, float _scaling);
24 
25  /*
26  *Override
27  */
28  void draw(std::shared_ptr<ge::Camera> _cam);
29  void setRotation(vmml::Vector3d r);
30  void setShader(std::shared_ptr<ge::Shader> _shader);
31  void setPosition(vmml::Vector3f _pos);
32  protected:
33  std::vector<at::Sun*> sunEnvironment;
34  GLfloat *sunPositions;
35 
39  };
40 }
41 #endif
GLint uniformSunLocation
Definition: PlanetNight.h:37
void updateUniforms()
Definition: PlanetNight.cpp:68
void setRadius(float _radius, float _scaling)
Definition: PlanetNight.cpp:79
Definition: PlanetNight.h:16
void setSunEnvironment(std::vector< at::Sun * > _sunVec)
Definition: PlanetNight.cpp:23
void setRotation(vmml::Vector3d r)
Definition: PlanetNight.cpp:17
Definition: Sphere.h:18
GLint uniformSunCount
Definition: PlanetNight.h:36
GLfloat * sunPositions
Definition: PlanetNight.h:34
void setPosition(vmml::Vector3f _pos)
Definition: PlanetNight.cpp:73
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: PlanetNight.cpp:20
void setShader(std::shared_ptr< ge::Shader > _shader)
Definition: PlanetNight.cpp:35
GLint uniformPlanetLocation
Definition: PlanetNight.h:38
Definition: AtmosphereComposition.h:20
PlanetNight()
Definition: PlanetNight.cpp:11
~PlanetNight()
Definition: PlanetNight.cpp:15
std::vector< at::Sun * > sunEnvironment
Definition: PlanetNight.h:33