#include <emission.h>
Public Member Functions | |
| EmissionIntegrator (float ss, int g) | |
| virtual | ~EmissionIntegrator () |
| virtual void | RequestSamples (Sample *sample, const Scene *scene) |
| virtual void | Transmittance (const TsPack *tspack, const Scene *, const Ray &ray, const Sample *sample, float *alpha, SWCSpectrum *const L) const |
| virtual int | Li (const TsPack *tspack, const Scene *, const RayDifferential &ray, const Sample *sample, SWCSpectrum *L, float *alpha) const |
Static Public Member Functions | |
| static VolumeIntegrator * | CreateVolumeIntegrator (const ParamSet ¶ms) |
Private Attributes | |
| float | stepSize |
| const int | group |
| int | tauSampleOffset |
| int | scatterSampleOffset |
Definition at line 32 of file emission.h.
| lux::EmissionIntegrator::EmissionIntegrator | ( | float | ss, | |
| int | g | |||
| ) | [inline] |
Definition at line 35 of file emission.h.
References stepSize.
Referenced by CreateVolumeIntegrator().
| virtual lux::EmissionIntegrator::~EmissionIntegrator | ( | ) | [inline, virtual] |
Definition at line 36 of file emission.h.
| VolumeIntegrator * EmissionIntegrator::CreateVolumeIntegrator | ( | const ParamSet & | params | ) | [static] |
Definition at line 83 of file emission.cpp.
References EmissionIntegrator(), lux::ParamSet::FindOneFloat(), lux::Context::getActiveLightGroup(), and stepSize.
| int EmissionIntegrator::Li | ( | const TsPack * | tspack, | |
| const Scene * | scene, | |||
| const RayDifferential & | ray, | |||
| const Sample * | sample, | |||
| SWCSpectrum * | L, | |||
| float * | alpha | |||
| ) | const [virtual] |
Implements lux::VolumeIntegrator.
Definition at line 49 of file emission.cpp.
References Ceil2Int(), lux::Ray::d, lux::SWCSpectrum::Filter(), lux::RandomGenerator::floatValue(), group, lux::VolumeRegion::IntersectP(), lux::VolumeRegion::Lve(), lux::Sample::oneD, p, lux::TsPack::rng, scatterSampleOffset, stepSize, lux::VolumeRegion::Tau(), and lux::Scene::volumeRegion.
Reimplemented from lux::Integrator.
Definition at line 32 of file emission.cpp.
References lux::Sample::Add1D(), scatterSampleOffset, and tauSampleOffset.
| void EmissionIntegrator::Transmittance | ( | const TsPack * | tspack, | |
| const Scene * | scene, | |||
| const Ray & | ray, | |||
| const Sample * | sample, | |||
| float * | alpha, | |||
| SWCSpectrum *const | L | |||
| ) | const [virtual] |
Implements lux::VolumeIntegrator.
Definition at line 38 of file emission.cpp.
References lux::Sample::oneD, stepSize, lux::VolumeRegion::Tau(), tauSampleOffset, and lux::Scene::volumeRegion.
const int lux::EmissionIntegrator::group [private] |
Definition at line 45 of file emission.h.
Referenced by Li().
Definition at line 46 of file emission.h.
Referenced by Li(), and RequestSamples().
float lux::EmissionIntegrator::stepSize [private] |
Definition at line 44 of file emission.h.
Referenced by CreateVolumeIntegrator(), EmissionIntegrator(), Li(), and Transmittance().
int lux::EmissionIntegrator::tauSampleOffset [private] |
Definition at line 46 of file emission.h.
Referenced by RequestSamples(), and Transmittance().
1.6.2-20100208