Pioneer
Star.h
Go to the documentation of this file.
1 // Copyright © 2008-2021 Pioneer Developers. See AUTHORS.txt for details
2 // Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3 
4 #ifndef _STAR_H
5 #define _STAR_H
6 
7 #include "TerrainBody.h"
8 
9 class Camera;
10 class Space;
11 class SystemBody;
12 
13 namespace Graphics {
14  class Renderer;
15  class RenderState;
16  class VertexBuffer;
17 } // namespace Graphics
18 
19 class Star : public TerrainBody {
20 public:
22  Star() = delete;
23  Star(SystemBody *sbody);
24  Star(const Json &jsonObj, Space *space);
25  virtual ~Star();
26 
27  virtual void Render(Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform) override;
28 
29 protected:
30  void InitStar();
31  void BuildHaloBuffer(Graphics::Renderer *renderer, double rad);
32 
34  std::unique_ptr<Graphics::VertexBuffer> m_haloBuffer;
35 };
36 
37 #endif /* _STAR_H */
nlohmann::json Json
Definition: Json.h:8
Definition: Camera.h:76
Definition: RenderState.h:25
Definition: Renderer.h:39
Definition: Space.h:19
Definition: Star.h:19
void InitStar()
Definition: Star.cpp:30
Star()=delete
std::unique_ptr< Graphics::VertexBuffer > m_haloBuffer
Definition: Star.h:34
void BuildHaloBuffer(Graphics::Renderer *renderer, double rad)
Definition: Star.cpp:47
virtual ~Star()
Definition: Star.cpp:26
Graphics::RenderState * m_haloState
Definition: Star.h:33
virtual void Render(Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform) override
Definition: Star.cpp:74
OBJDEF(Star, TerrainBody, STAR)
Definition: SystemBody.h:19
Definition: TerrainBody.h:21
Definition: Background.h:13