MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
Light.hpp
Go to the documentation of this file.
1 #ifndef MOBILERT_LIGHT_HPP
2 #define MOBILERT_LIGHT_HPP
3 
5 #include "MobileRT/Ray.hpp"
6 #include <glm/glm.hpp>
7 
8 namespace MobileRT {
14  class Light {
15  public:
17 
18  public:
19  explicit Light() = delete;
20 
21  explicit Light(Material radiance);
22 
23  Light(const Light &light) = delete;
24 
25  Light(Light &&light) noexcept = delete;
26 
27  virtual ~Light();
28 
29  Light &operator=(const Light &light) = delete;
30 
31  Light &operator=(Light &&light) noexcept = delete;
32 
38  virtual ::glm::vec3 getPosition() = 0;
39 
43  virtual void resetSampling() = 0;
44 
51  virtual Intersection intersect(Intersection &&intersection) = 0;
52  };
53 }//namespace MobileRT
54 
55 #endif //MOBILERT_LIGHT_HPP
virtual Intersection intersect(Intersection &&intersection)=0
Definition: Material.hpp:13
Definition: Light.hpp:14
Definition: Intersection.hpp:14
virtual ::glm::vec3 getPosition()=0
virtual void resetSampling()=0
Material radiance_
Definition: Light.hpp:16
virtual ~Light()
Definition: Light.cpp:18
Light & operator=(const Light &light)=delete
Definition: AABB.cpp:105