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

#include <NoShadows.hpp>

Inheritance diagram for Components::NoShadows:
Inheritance graph
Collaboration diagram for Components::NoShadows:
Collaboration graph

Public Member Functions

 NoShadows ()=delete
 
 NoShadows (::MobileRT::Scene scene, ::std::int32_t samplesLight, ::MobileRT::Shader::Accelerator accelerator)
 
 NoShadows (const NoShadows &noShadows)=delete
 
 NoShadows (NoShadows &&noShadows) noexcept=delete
 
 ~NoShadows () final=default
 
NoShadowsoperator= (const NoShadows &noShadows)=delete
 
NoShadowsoperator= (NoShadows &&noShadows) 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

◆ NoShadows() [1/4]

Components::NoShadows::NoShadows ( )
explicitdelete

◆ NoShadows() [2/4]

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

◆ NoShadows() [3/4]

Components::NoShadows::NoShadows ( const NoShadows noShadows)
delete

◆ NoShadows() [4/4]

Components::NoShadows::NoShadows ( NoShadows &&  noShadows)
deletenoexcept

◆ ~NoShadows()

Components::NoShadows::~NoShadows ( )
finaldefault

Member Function Documentation

◆ operator=() [1/2]

NoShadows& Components::NoShadows::operator= ( const NoShadows noShadows)
delete

◆ operator=() [2/2]

NoShadows& Components::NoShadows::operator= ( NoShadows &&  noShadows)
deletenoexcept

◆ shade()

bool NoShadows::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: