MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
Whitted.hpp
Go to the documentation of this file.
1 #ifndef COMPONENTS_SHADERS_WHITTED_HPP
2 #define COMPONENTS_SHADERS_WHITTED_HPP
3 
4 #include "MobileRT/Shader.hpp"
5 
6 namespace Components {
7 
8  class Whitted final : public ::MobileRT::Shader {
9  private:
10  bool shade(
11  ::glm::vec3 *rgb,
12  const ::MobileRT::Intersection &intersection) final;
13 
14  public:
15  explicit Whitted () = delete;
16 
17  explicit Whitted(
18  ::MobileRT::Scene scene,
19  ::std::int32_t samplesLight,
20  ::MobileRT::Shader::Accelerator accelerator);
21 
22  Whitted(const Whitted &whitted) = delete;
23 
24  Whitted(Whitted &&whitted) noexcept = delete;
25 
26  ~Whitted() final = default;
27 
28  Whitted &operator=(const Whitted &whitted) = delete;
29 
30  Whitted &operator=(Whitted &&whitted) noexcept = delete;
31  };
32 }//namespace Components
33 
34 #endif //COMPONENTS_SHADERS_WHITTED_HPP
Definition: Orthographic.hpp:6
Accelerator
Definition: Shader.hpp:20
Definition: Shader.hpp:18
Definition: Whitted.hpp:8
Definition: Scene.hpp:20
~Whitted() final=default
Whitted & operator=(const Whitted &whitted)=delete
bool shade(::glm::vec3 *rgb, const ::MobileRT::Intersection &intersection) final
Definition: Whitted.cpp:13