#pragma once #include "Shader.hpp" #include namespace renderer { class DirectionalLight { public: DirectionalLight(); void setDirection( const glm::vec3& dir ); void setColor( const glm::vec3& c ); void setIntensity( float i ); const glm::vec3& getDirection() const; const glm::vec3& getColor() const; float getIntensity() const; void applyToShader( const Shader& shader, const std::string& uniformName = "dirLight" ) const; private: glm::vec3 mDirection; glm::vec3 mColor; float mIntensity; }; } // namespace renderer