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