MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
MobileRT::Light Class Referenceabstract

#include <Light.hpp>

Inheritance diagram for MobileRT::Light:
Inheritance graph
Collaboration diagram for MobileRT::Light:
Collaboration graph

Public Member Functions

 Light ()=delete
 
 Light (Material radiance)
 
 Light (const Light &light)=delete
 
 Light (Light &&light) noexcept=delete
 
virtual ~Light ()
 
Lightoperator= (const Light &light)=delete
 
Lightoperator= (Light &&light) noexcept=delete
 
virtual ::glm::vec3 getPosition ()=0
 
virtual void resetSampling ()=0
 
virtual Intersection intersect (Intersection &&intersection)=0
 

Public Attributes

Material radiance_ {}
 

Detailed Description

A class which represents a light in the scene.
A light is a primitive which contains a material that emits light (i.e. a source of light).

Constructor & Destructor Documentation

◆ Light() [1/4]

MobileRT::Light::Light ( )
explicitdelete

◆ Light() [2/4]

Light::Light ( Material  radiance)
explicit

The constructor.

Parameters
radianceThe material of the light.

◆ Light() [3/4]

MobileRT::Light::Light ( const Light light)
delete

◆ Light() [4/4]

MobileRT::Light::Light ( Light &&  light)
deletenoexcept

◆ ~Light()

Light::~Light ( )
virtual

The destructor.

Member Function Documentation

◆ getPosition()

virtual ::glm::vec3 MobileRT::Light::getPosition ( )
pure virtual

Gets the position of the light.

Returns
The position of the light.

Implemented in Components::AreaLight, and Components::PointLight.

◆ intersect()

virtual Intersection MobileRT::Light::intersect ( Intersection &&  intersection)
pure virtual

Determines if a ray intersects this light or not and calculates the intersection point.

Parameters
intersectionThe previous intersection of the ray in the scene.
Returns
The intersection point.

◆ operator=() [1/2]

Light& MobileRT::Light::operator= ( const Light light)
delete

◆ operator=() [2/2]

Light& MobileRT::Light::operator= ( Light &&  light)
deletenoexcept

◆ resetSampling()

virtual void MobileRT::Light::resetSampling ( )
pure virtual

Resets the sampling counter.

Implemented in Components::AreaLight, and Components::PointLight.

Member Data Documentation

◆ radiance_

Material MobileRT::Light::radiance_ {}

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