1 #ifndef BLANK_GRAPHICS_DIRECTIONALLIGHTING_HPP_
2 #define BLANK_GRAPHICS_DIRECTIONALLIGHTING_HPP_
14 class DirectionalLighting {
17 DirectionalLighting();
19 void Activate() noexcept;
21 void SetLightDirection(const glm::vec3 &) noexcept;
22 void SetLightColor(const glm::vec3 &) noexcept;
24 void SetTexture(ArrayTexture &) noexcept;
25 void SetFogDensity(float) noexcept;
27 void SetM(const glm::mat4 &m) noexcept;
28 void SetProjection(const glm::mat4 &p) noexcept;
29 void SetView(const glm::mat4 &v) noexcept;
30 void SetVP(const glm::mat4 &v, const glm::mat4 &p) noexcept;
31 void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
33 const glm::mat4 &Projection() const noexcept { return projection; }
34 const glm::mat4 &View() const noexcept { return view; }
35 const glm::mat4 &GetVP() const noexcept { return vp; }
47 GLuint sampler_handle;
48 GLuint light_direction_handle;
49 GLuint light_color_handle;
50 GLuint fog_density_handle;