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

#include <OmniModulatedEmitter.h>

Inheritance diagram for ph::OmniModulatedEmitter:
ph::Emitter

Public Member Functions

 OmniModulatedEmitter (const Emitter *source)
 Given a source, construct its modulated version. Feature set is inherited from source. If you want to specify a specific feature set, use OmniModulatedEmitter(const Emitter*, EmitterFeatureSet).
 
 OmniModulatedEmitter (const Emitter *source, EmitterFeatureSet featureSet)
 
void evalEmittedEnergy (const SurfaceHit &Xe, math::Spectrum *out_energy) const override
 Evaluate emitted energy from a point on the surface.
 
void genDirectSample (DirectEnergySampleQuery &query, SampleFlow &sampleFlow, HitProbe &probe) const override
 Sample direct lighting for a target position.
 
void calcDirectPdf (DirectEnergyPdfQuery &query) const override
 Calculate the PDF of direct lighting for a target position.
 
void emitRay (EnergyEmissionSampleQuery &query, SampleFlow &sampleFlow, HitProbe &probe) const override
 Emit a ray that carries some amount of energy from this emitter.
 
real calcRadiantFluxApprox () const override
 
void setFilter (const std::shared_ptr< TTexture< math::Spectrum > > &filter)
 
const EmittergetSource () const
 
- Public Member Functions inherited from ph::Emitter
 Emitter (EmitterFeatureSet featureSet=defaultFeatureSet)
 
virtual ~Emitter ()
 
EmitterFeatureSet getFeatureSet () const
 

Additional Inherited Members

- Static Public Attributes inherited from ph::Emitter
static constexpr auto defaultFeatureSet = EmitterFeatureSet(EEmitterFeatureSet::Default)
 

Constructor & Destructor Documentation

◆ OmniModulatedEmitter() [1/2]

ph::OmniModulatedEmitter::OmniModulatedEmitter ( const Emitter * source)
explicit

Given a source, construct its modulated version. Feature set is inherited from source. If you want to specify a specific feature set, use OmniModulatedEmitter(const Emitter*, EmitterFeatureSet).

◆ OmniModulatedEmitter() [2/2]

ph::OmniModulatedEmitter::OmniModulatedEmitter ( const Emitter * source,
EmitterFeatureSet featureSet )

Member Function Documentation

◆ calcDirectPdf()

void ph::OmniModulatedEmitter::calcDirectPdf ( DirectEnergyPdfQuery & query) const
overridevirtual

Calculate the PDF of direct lighting for a target position.

Note

Implements ph::Emitter.

◆ calcRadiantFluxApprox()

real ph::OmniModulatedEmitter::calcRadiantFluxApprox ( ) const
overridevirtual

Reimplemented from ph::Emitter.

◆ emitRay()

void ph::OmniModulatedEmitter::emitRay ( EnergyEmissionSampleQuery & query,
SampleFlow & sampleFlow,
HitProbe & probe ) const
overridevirtual

Emit a ray that carries some amount of energy from this emitter.

Note

Implements ph::Emitter.

◆ evalEmittedEnergy()

void ph::OmniModulatedEmitter::evalEmittedEnergy ( const SurfaceHit & Xe,
math::Spectrum * out_energy ) const
overridevirtual

Evaluate emitted energy from a point on the surface.

Parameters
XeThe point that emits energy.

Implements ph::Emitter.

◆ genDirectSample()

void ph::OmniModulatedEmitter::genDirectSample ( DirectEnergySampleQuery & query,
SampleFlow & sampleFlow,
HitProbe & probe ) const
overridevirtual

Sample direct lighting for a target position.

Note

Implements ph::Emitter.

◆ getSource()

const Emitter & ph::OmniModulatedEmitter::getSource ( ) const
inline
Returns
The emitter that is being modulated.

◆ setFilter()

void ph::OmniModulatedEmitter::setFilter ( const std::shared_ptr< TTexture< math::Spectrum > > & filter)

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