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

An electromagnetic energy emitting source. The emitted energy can be captured by a Receiver. More...

#include <Emitter.h>

Inheritance diagram for ph::Emitter:
ph::OmniModulatedEmitter ph::SurfaceEmitter ph::DiffuseSurfaceEmitterBase ph::LatLongEnvEmitter ph::DiffuseSurfaceEmitter ph::GroupedDiffuseSurfaceEmitter

Public Member Functions

 Emitter (EmitterFeatureSet featureSet=defaultFeatureSet)
 
virtual ~Emitter ()
 
virtual void evalEmittedEnergy (const SurfaceHit &Xe, math::Spectrum *out_energy) const =0
 Evaluate emitted energy from a point on the surface.
 
virtual void genDirectSample (DirectEnergySampleQuery &query, SampleFlow &sampleFlow, HitProbe &probe) const =0
 Sample direct lighting for a target position.
 
virtual void calcDirectPdf (DirectEnergyPdfQuery &query) const =0
 Calculate the PDF of direct lighting for a target position.
 
virtual void emitRay (EnergyEmissionSampleQuery &query, SampleFlow &sampleFlow, HitProbe &probe) const =0
 Emit a ray that carries some amount of energy from this emitter.
 
virtual real calcRadiantFluxApprox () const
 
EmitterFeatureSet getFeatureSet () const
 

Static Public Attributes

static constexpr auto defaultFeatureSet = EmitterFeatureSet(EEmitterFeatureSet::Default)
 

Detailed Description

An electromagnetic energy emitting source. The emitted energy can be captured by a Receiver.

Constructor & Destructor Documentation

◆ Emitter()

ph::Emitter::Emitter ( EmitterFeatureSet featureSet = defaultFeatureSet)
explicit
Parameters
featureSetRequest a set of features for this emitter.

◆ ~Emitter()

ph::Emitter::~Emitter ( )
virtualdefault

Member Function Documentation

◆ calcDirectPdf()

virtual void ph::Emitter::calcDirectPdf ( DirectEnergyPdfQuery & query) const
pure virtual

◆ calcRadiantFluxApprox()

real ph::Emitter::calcRadiantFluxApprox ( ) const
inlinevirtual

◆ emitRay()

virtual void ph::Emitter::emitRay ( EnergyEmissionSampleQuery & query,
SampleFlow & sampleFlow,
HitProbe & probe ) const
pure virtual

◆ evalEmittedEnergy()

virtual void ph::Emitter::evalEmittedEnergy ( const SurfaceHit & Xe,
math::Spectrum * out_energy ) const
pure virtual

Evaluate emitted energy from a point on the surface.

Parameters
XeThe point that emits energy.

Implemented in ph::DiffuseSurfaceEmitter, ph::DiffuseSurfaceEmitterBase, ph::GroupedDiffuseSurfaceEmitter, ph::LatLongEnvEmitter, ph::OmniModulatedEmitter, and ph::SurfaceEmitter.

◆ genDirectSample()

virtual void ph::Emitter::genDirectSample ( DirectEnergySampleQuery & query,
SampleFlow & sampleFlow,
HitProbe & probe ) const
pure virtual

◆ getFeatureSet()

EmitterFeatureSet ph::Emitter::getFeatureSet ( ) const
inline
Returns
Features requested for this emitter.

Member Data Documentation

◆ defaultFeatureSet

auto ph::Emitter::defaultFeatureSet = EmitterFeatureSet(EEmitterFeatureSet::Default)
staticconstexpr

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