#include <emission.h>
Public Member Functions | |
EmissionIntegrator (float ss) | |
void | RequestSamples (Sample *sample, const Scene *scene) |
SWCSpectrum | Transmittance (const Scene *, const Ray &ray, const Sample *sample, float *alpha) const |
SWCSpectrum | Li (const Scene *, const RayDifferential &ray, const Sample *sample, float *alpha) const |
Static Public Member Functions | |
static VolumeIntegrator * | CreateVolumeIntegrator (const ParamSet ¶ms) |
Private Attributes | |
float | stepSize |
int | tauSampleOffset |
int | scatterSampleOffset |
Definition at line 32 of file emission.h.
lux::EmissionIntegrator::EmissionIntegrator | ( | float | ss | ) | [inline] |
Definition at line 35 of file emission.h.
References stepSize.
Referenced by CreateVolumeIntegrator().
VolumeIntegrator * EmissionIntegrator::CreateVolumeIntegrator | ( | const ParamSet & | params | ) | [static] |
Definition at line 84 of file emission.cpp.
References EmissionIntegrator(), lux::ParamSet::FindOneFloat(), and stepSize.
Referenced by lux::MakeVolumeIntegrator().
SWCSpectrum EmissionIntegrator::Li | ( | const Scene * | scene, | |
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
float * | alpha | |||
) | const [virtual] |
Implements lux::Integrator.
Definition at line 48 of file emission.cpp.
References Ceil2Int(), lux::Ray::d, lux::SWCSpectrum::filter(), lux::random::floatValue(), lux::VolumeRegion::IntersectP(), lux::VolumeRegion::Lve(), N, lux::Sample::oneD, blender::p, scatterSampleOffset, stepSize, lux::VolumeRegion::Tau(), and lux::Scene::volumeRegion.
Reimplemented from lux::Integrator.
Definition at line 30 of file emission.cpp.
References lux::Sample::Add1D(), scatterSampleOffset, and tauSampleOffset.
SWCSpectrum EmissionIntegrator::Transmittance | ( | const Scene * | scene, | |
const Ray & | ray, | |||
const Sample * | sample, | |||
float * | alpha | |||
) | const [virtual] |
Implements lux::VolumeIntegrator.
Definition at line 36 of file emission.cpp.
References lux::random::floatValue(), lux::Sample::oneD, stepSize, lux::VolumeRegion::Tau(), tauSampleOffset, and lux::Scene::volumeRegion.
int lux::EmissionIntegrator::scatterSampleOffset [private] |
float lux::EmissionIntegrator::stepSize [private] |
Definition at line 42 of file emission.h.
Referenced by CreateVolumeIntegrator(), EmissionIntegrator(), Li(), and Transmittance().
int lux::EmissionIntegrator::tauSampleOffset [private] |