1 #ifndef BLOBS_GRAPHICS_PLANETSURFACE_HPP_
2 #define BLOBS_GRAPHICS_PLANETSURFACE_HPP_
20 PlanetSurface(const PlanetSurface &) = delete;
21 PlanetSurface &operator =(const PlanetSurface &) = delete;
23 PlanetSurface(PlanetSurface &&) = delete;
24 PlanetSurface &operator =(PlanetSurface &&) = delete;
27 void Activate() noexcept;
29 void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
30 void SetNormal(const glm::vec3 &) noexcept;
31 void SetTexture(ArrayTexture &) noexcept;
32 void SetLight(const glm::vec3 &pos, const glm::vec3 &color, float strength) noexcept;
34 const glm::mat4 &M() const noexcept { return m; }
35 const glm::mat4 &V() const noexcept { return v; }
36 const glm::mat4 &P() const noexcept { return p; }
37 const glm::mat4 &MV() const noexcept { return mv; }
38 const glm::mat4 &MVP() const noexcept { return mvp; }
52 GLuint sampler_handle;
55 GLuint light_position_handle;
56 GLuint light_color_handle;
57 GLuint light_strength_handle;