Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::Receiver Class Referenceabstract

A target that can receive any physical quantity, typically electromagnetic energy. The received energy is originated from some Emitters. More...

#include <Receiver.h>

Inheritance diagram for ph::Receiver:
ph::RectangularSensorReceiver ph::PinholeCamera ph::ThinLensCamera

Public Member Functions

 Receiver (const math::RigidTransform *receiverToWorld)
 
virtual ~Receiver ()=default
 
virtual math::Spectrum receiveRay (const math::Vector2D &rasterCoord, Ray *out_ray) const =0
 Generate a ray received by the receiver.
 
virtual void evalEmittedImportanceAndPdfW (const math::Vector3R &targetPos, math::Vector2R *const out_filmCoord, math::Vector3R *const out_importance, real *out_filmArea, real *const out_pdfW) const =0
 
const math::RigidTransformgetReceiverToWorld () const
 

Detailed Description

A target that can receive any physical quantity, typically electromagnetic energy. The received energy is originated from some Emitters.

Constructor & Destructor Documentation

◆ Receiver()

ph::Receiver::Receiver ( const math::RigidTransform * receiverToWorld)
explicit

◆ ~Receiver()

virtual ph::Receiver::~Receiver ( )
inlinevirtualdefault

Member Function Documentation

◆ evalEmittedImportanceAndPdfW()

virtual void ph::Receiver::evalEmittedImportanceAndPdfW ( const math::Vector3R & targetPos,
math::Vector2R *const out_filmCoord,
math::Vector3R *const out_importance,
real * out_filmArea,
real *const out_pdfW ) const
pure virtual

◆ getReceiverToWorld()

const math::RigidTransform & ph::Receiver::getReceiverToWorld ( ) const
inline

◆ receiveRay()

virtual math::Spectrum ph::Receiver::receiveRay ( const math::Vector2D & rasterCoord,
Ray * out_ray ) const
pure virtual

Generate a ray received by the receiver.

Given raster coordinates, generate a corresponding ray that would have hit that location from the light entry of the receiver. The light entry would be the outmost surface of a camera's lens system for example. This method is for Monte-Carlo sampling.

Returns
A weighting factor for the received quantity. Proper sensor response and sampling PDF are included in the returned weight.

Implemented in ph::PinholeCamera, ph::RectangularSensorReceiver, and ph::ThinLensCamera.


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