MobileRT
1.0
A multi platform C++ CPU progressive Ray Tracer.
|
#include <AreaLight.hpp>
Public Member Functions | |
AreaLight ()=delete | |
AreaLight (const ::MobileRT::Material &radiance, ::std::unique_ptr<::MobileRT::Sampler > samplerPointLight, const ::MobileRT::Triangle &triangle) | |
AreaLight (const AreaLight &areaLight)=delete | |
AreaLight (AreaLight &&areaLight) noexcept=delete | |
~AreaLight () final=default | |
AreaLight & | operator= (const AreaLight &areaLight)=delete |
AreaLight & | operator= (AreaLight &&areaLight) noexcept=delete |
::glm::vec3 | getPosition () final |
void | resetSampling () final |
::MobileRT::Intersection | intersect (::MobileRT::Intersection &&intersection) final |
![]() | |
Light ()=delete | |
Light (Material radiance) | |
Light (const Light &light)=delete | |
Light (Light &&light) noexcept=delete | |
virtual | ~Light () |
Light & | operator= (const Light &light)=delete |
Light & | operator= (Light &&light) noexcept=delete |
virtual Intersection | intersect (Intersection &&intersection)=0 |
Private Attributes | |
::MobileRT::Triangle | triangle_ |
::std::unique_ptr<::MobileRT::Sampler > | samplerPointLight_ {} |
Additional Inherited Members | |
![]() | |
Material | radiance_ {} |
An area light is a light that casts directional light rays from within a set boundary, in this case, in the format of a triangle. All other light types emit light from a single point, where an area light emits light from an entire area which is generally more realistic.
|
explicitdelete |
|
explicit |
|
delete |
|
deletenoexcept |
|
finaldefault |
|
finalvirtual |
|
final |
|
finalvirtual |
Resets the sampling counter.
Implements MobileRT::Light.
|
private |
|
private |