aboutsummaryrefslogtreecommitdiff
path: root/apps/openmb/renderer/DirectionalLight.hpp
blob: 31e914ee221c6b5aad76c6640d49b401147bb3fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include "Shader.hpp"
#include <glm/glm.hpp>

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