1 #ifndef BLANK_GRAPHICS_DIRECTIONALLIGHTING_HPP_
2 #define BLANK_GRAPHICS_DIRECTIONALLIGHTING_HPP_
12 class DirectionalLighting {
15 DirectionalLighting();
17 void Activate() noexcept;
19 void SetLightDirection(const glm::vec3 &) noexcept;
21 void SetFogDensity(float) noexcept;
23 void SetM(const glm::mat4 &m) noexcept;
24 void SetProjection(const glm::mat4 &p) noexcept;
25 void SetView(const glm::mat4 &v) noexcept;
26 void SetVP(const glm::mat4 &v, const glm::mat4 &p) noexcept;
27 void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
29 const glm::mat4 &Projection() const noexcept { return projection; }
30 const glm::mat4 &View() const noexcept { return view; }
31 const glm::mat4 &GetVP() const noexcept { return vp; }
36 glm::vec3 light_direction;
37 glm::vec3 light_color;
48 GLuint light_direction_handle;
49 GLuint light_color_handle;
50 GLuint fog_density_handle;