|
Photon Engine 2.0.0-beta
A physically based renderer.
|
An electromagnetic energy emitting source. The emitted energy can be captured by a Receiver.
More...
#include <Emitter.h>
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) |
An electromagnetic energy emitting source. The emitted energy can be captured by a Receiver.
|
explicit |
| featureSet | Request a set of features for this emitter. |
|
virtualdefault |
|
pure virtual |
Calculate the PDF of direct lighting for a target position.
EEmitterFeatureSet::DirectSample Implemented in ph::DiffuseSurfaceEmitter, ph::DiffuseSurfaceEmitterBase, ph::GroupedDiffuseSurfaceEmitter, ph::LatLongEnvEmitter, ph::OmniModulatedEmitter, and ph::SurfaceEmitter.
|
inlinevirtual |
Reimplemented in ph::DiffuseSurfaceEmitter, ph::GroupedDiffuseSurfaceEmitter, ph::LatLongEnvEmitter, and ph::OmniModulatedEmitter.
|
pure virtual |
Emit a ray that carries some amount of energy from this emitter.
EnergyEmissionSampleOutput::getEmittedRay() and probe)EEmitterFeatureSet::EmissionSample Implemented in ph::DiffuseSurfaceEmitter, ph::DiffuseSurfaceEmitterBase, ph::GroupedDiffuseSurfaceEmitter, ph::LatLongEnvEmitter, ph::OmniModulatedEmitter, and ph::SurfaceEmitter.
|
pure virtual |
Evaluate emitted energy from a point on the surface.
| Xe | The point that emits energy. |
Implemented in ph::DiffuseSurfaceEmitter, ph::DiffuseSurfaceEmitterBase, ph::GroupedDiffuseSurfaceEmitter, ph::LatLongEnvEmitter, ph::OmniModulatedEmitter, and ph::SurfaceEmitter.
|
pure virtual |
Sample direct lighting for a target position.
DirectEnergySampleOutput::getObservationRay() and probe)EEmitterFeatureSet::DirectSample Implemented in ph::DiffuseSurfaceEmitter, ph::DiffuseSurfaceEmitterBase, ph::GroupedDiffuseSurfaceEmitter, ph::LatLongEnvEmitter, ph::OmniModulatedEmitter, and ph::SurfaceEmitter.
|
inline |
|
staticconstexpr |