MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
Components::Whitted Class Referencefinal

#include <Whitted.hpp>

Inheritance diagram for Components::Whitted:
Inheritance graph
Collaboration diagram for Components::Whitted:
Collaboration graph

Public Member Functions

 Whitted ()=delete
 
 Whitted (::MobileRT::Scene scene, ::std::int32_t samplesLight, ::MobileRT::Shader::Accelerator accelerator)
 
 Whitted (const Whitted &whitted)=delete
 
 Whitted (Whitted &&whitted) noexcept=delete
 
 ~Whitted () final=default
 
Whittedoperator= (const Whitted &whitted)=delete
 
Whittedoperator= (Whitted &&whitted) noexcept=delete
 
- Public Member Functions inherited from MobileRT::Shader
void initializeAccelerators (Scene scene)
 
 Shader ()=delete
 
 Shader (Scene scene, ::std::int32_t samplesLight, Accelerator accelerator)
 
 Shader (const Shader &shader)=delete
 
 Shader (Shader &&shader) noexcept=default
 
virtual ~Shader ()=default
 
Shaderoperator= (const Shader &shader)=delete
 
Shaderoperator= (Shader &&shader) noexcept=delete
 
bool rayTrace (::glm::vec3 *rgb, Ray &&ray)
 
bool shadowTrace (float distance, Ray &&ray)
 
virtual void resetSampling ()
 
const ::std::vector< Plane > & getPlanes () const
 
const ::std::vector< Sphere > & getSpheres () const
 
const ::std::vector< Triangle > & getTriangles () const
 
const ::std::vector< Material > & getMaterials () const
 
const ::std::vector<::std::unique_ptr< Light > > & getLights () const
 

Private Member Functions

bool shade (::glm::vec3 *rgb, const ::MobileRT::Intersection &intersection) final
 

Additional Inherited Members

- Public Types inherited from MobileRT::Shader
enum  Accelerator { ACC_NAIVE = 1, ACC_REGULAR_GRID, ACC_BVH }
 
- Protected Member Functions inherited from MobileRT::Shader
virtual bool shade (::glm::vec3 *rgb, const Intersection &intersection)=0
 
::std::uint32_t getLightIndex ()
 
- Static Protected Member Functions inherited from MobileRT::Shader
::glm::vec3 getCosineSampleHemisphere (const ::glm::vec3 &normal)
 
- Protected Attributes inherited from MobileRT::Shader
const ::std::int32_t samplesLight_ {}
 
::std::vector<::std::unique_ptr< Light > > lights_ {}
 

Constructor & Destructor Documentation

◆ Whitted() [1/4]

Components::Whitted::Whitted ( )
explicitdelete

◆ Whitted() [2/4]

Components::Whitted::Whitted ( ::MobileRT::Scene  scene,
::std::int32_t  samplesLight,
::MobileRT::Shader::Accelerator  accelerator 
)
explicit

◆ Whitted() [3/4]

Components::Whitted::Whitted ( const Whitted whitted)
delete

◆ Whitted() [4/4]

Components::Whitted::Whitted ( Whitted &&  whitted)
deletenoexcept

◆ ~Whitted()

Components::Whitted::~Whitted ( )
finaldefault

Member Function Documentation

◆ operator=() [1/2]

Whitted& Components::Whitted::operator= ( const Whitted whitted)
delete

◆ operator=() [2/2]

Whitted& Components::Whitted::operator= ( Whitted &&  whitted)
deletenoexcept

◆ shade()

bool Whitted::shade ( ::glm::vec3 *  rgb,
const ::MobileRT::Intersection intersection 
)
finalprivate
Here is the call graph for this function:

The documentation for this class was generated from the following files: