Pioneer
Star.h
Go to the documentation of this file.
1 // Copyright © 2008-2023 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 Material;
15  class MeshObject;
16  class Renderer;
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 
33  std::unique_ptr<Graphics::Material> m_haloMat;
34  std::unique_ptr<Graphics::MeshObject> m_haloMesh;
35 };
36 
37 #endif /* _STAR_H */
nlohmann::json Json
Definition: Json.h:8
Definition: Camera.h:80
Definition: Renderer.h:44
Definition: Space.h:19
Definition: Star.h:19
void InitStar()
Definition: Star.cpp:31
std::unique_ptr< Graphics::MeshObject > m_haloMesh
Definition: Star.h:34
Star()=delete
void BuildHaloBuffer(Graphics::Renderer *renderer, double rad)
Definition: Star.cpp:52
virtual ~Star()
Definition: Star.cpp:27
virtual void Render(Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform) override
Definition: Star.cpp:70
std::unique_ptr< Graphics::Material > m_haloMat
Definition: Star.h:33
OBJDEF(Star, TerrainBody, STAR)
Definition: SystemBody.h:19
Definition: TerrainBody.h:21
Definition: Background.h:14