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;
23 void SetAmbientColor(const glm::vec3 &) noexcept;
25 void SetTexture(ArrayTexture &) noexcept;
26 void SetFogDensity(float) noexcept;
28 void SetM(const glm::mat4 &m) noexcept;
29 void SetProjection(const glm::mat4 &p) noexcept;
30 void SetView(const glm::mat4 &v) noexcept;
31 void SetVP(const glm::mat4 &v, const glm::mat4 &p) noexcept;
32 void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
34 const glm::mat4 &Projection() const noexcept { return projection; }
35 const glm::mat4 &View() const noexcept { return view; }
36 const glm::mat4 &GetVP() const noexcept { return vp; }
48 GLuint sampler_handle;
49 GLuint light_direction_handle;
50 GLuint light_color_handle;
51 GLuint ambient_color_handle;
52 GLuint fog_density_handle;