#include <emission.h>
Public Member Functions | |
EmissionIntegrator (float ss) | |
void | RequestSamples (Sampler *sampler, Sample *sample, const Scene *scene) |
Spectrum | Li (const Scene *scene, const Renderer *renderer, const RayDifferential &ray, const Sample *sample, RNG &rng, Spectrum *transmittance, MemoryArena &arena) const |
Spectrum | Transmittance (const Scene *scene, const Renderer *, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena) const |
Private Attributes | |
float | stepSize |
int | tauSampleOffset |
int | scatterSampleOffset |
Definition at line 37 of file emission.h.
EmissionIntegrator::EmissionIntegrator | ( | float | ss | ) | [inline] |
Definition at line 40 of file emission.h.
References stepSize.
Spectrum EmissionIntegrator::Li | ( | const Scene * | scene, | |
const Renderer * | renderer, | |||
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
Spectrum * | transmittance, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements VolumeIntegrator.
Definition at line 56 of file emission.cpp.
References Assert, Ceil2Int(), Ray::d, Ray::depth, VolumeRegion::IntersectP(), VolumeRegion::Lve(), Sample::oneD, RNG::RandomFloat(), scatterSampleOffset, stepSize, VolumeRegion::tau(), Ray::time, Scene::volumeRegion, and RGBSpectrum::y().
void EmissionIntegrator::RequestSamples | ( | Sampler * | sampler, | |
Sample * | sample, | |||
const Scene * | scene | |||
) | [virtual] |
Reimplemented from Integrator.
Definition at line 31 of file emission.cpp.
References Sample::Add1D(), scatterSampleOffset, and tauSampleOffset.
Spectrum EmissionIntegrator::Transmittance | ( | const Scene * | scene, | |
const Renderer * | renderer, | |||
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements VolumeIntegrator.
Definition at line 38 of file emission.cpp.
References Sample::oneD, RNG::RandomFloat(), stepSize, VolumeRegion::tau(), tauSampleOffset, and Scene::volumeRegion.
int EmissionIntegrator::scatterSampleOffset [private] |
Definition at line 51 of file emission.h.
Referenced by Li(), and RequestSamples().
float EmissionIntegrator::stepSize [private] |
Definition at line 50 of file emission.h.
Referenced by EmissionIntegrator(), Li(), and Transmittance().
int EmissionIntegrator::tauSampleOffset [private] |
Definition at line 51 of file emission.h.
Referenced by RequestSamples(), and Transmittance().