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

A receiver with a rectangular sensor installed. More...

#include <RectangularSensorReceiver.h>

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

Public Member Functions

 RectangularSensorReceiver (const math::Vector2D &sensorSize, const math::Transform *rasterToSensor, const math::RigidTransform *receiverToWorld)
 
math::Spectrum receiveRay (const math::Vector2D &rasterCoord, Ray *out_ray) const override=0
 Generate a ray received by the receiver.
 
void evalEmittedImportanceAndPdfW (const math::Vector3R &targetPos, math::Vector2R *const out_filmCoord, math::Vector3R *const out_importance, real *out_filmArea, real *const out_pdfW) const override=0
 
const math::Vector2DgetSensorSize () const
 
const math::TransformgetRasterToSensor () const
 
- Public Member Functions inherited from ph::Receiver
 Receiver (const math::RigidTransform *receiverToWorld)
 
virtual ~Receiver ()=default
 
const math::RigidTransformgetReceiverToWorld () const
 

Detailed Description

A receiver with a rectangular sensor installed.

Constructor & Destructor Documentation

◆ RectangularSensorReceiver()

ph::RectangularSensorReceiver::RectangularSensorReceiver ( const math::Vector2D & sensorSize,
const math::Transform * rasterToSensor,
const math::RigidTransform * receiverToWorld )
Parameters
sensorSizeSize of the installed sensor.
rasterToSensorTransform from raster to sensor position (in receiver space).
receiverToWorldTransform from receiver to world space.

Member Function Documentation

◆ evalEmittedImportanceAndPdfW()

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

Implements ph::Receiver.

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

◆ getRasterToSensor()

const math::Transform & ph::RectangularSensorReceiver::getRasterToSensor ( ) const
inline

◆ getSensorSize()

const math::Vector2D & ph::RectangularSensorReceiver::getSensorSize ( ) const
inline

◆ receiveRay()

math::Spectrum ph::RectangularSensorReceiver::receiveRay ( const math::Vector2D & rasterCoord,
Ray * out_ray ) const
overridepure 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.

Implements ph::Receiver.

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


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