#include <single.h>
Public Member Functions | |
SingleScatteringIntegrator (float ss) | |
Spectrum | Transmittance (const Scene *, const Renderer *, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena) const |
void | RequestSamples (Sampler *sampler, Sample *sample, const Scene *scene) |
Spectrum | Li (const Scene *, const Renderer *, const RayDifferential &ray, const Sample *sample, RNG &rng, Spectrum *T, MemoryArena &arena) const |
Private Attributes | |
float | stepSize |
int | tauSampleOffset |
int | scatterSampleOffset |
Definition at line 36 of file single.h.
SingleScatteringIntegrator::SingleScatteringIntegrator | ( | float | ss | ) | [inline] |
Spectrum SingleScatteringIntegrator::Li | ( | const Scene * | scene, | |
const Renderer * | renderer, | |||
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
Spectrum * | T, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements VolumeIntegrator.
Definition at line 58 of file single.cpp.
References MemoryArena::Alloc(), Ceil2Int(), Ray::d, Ray::depth, Floor2Int(), VolumeRegion::IntersectP(), CoefficientSpectrum< nSamples >::IsBlack(), LDShuffleScrambled1D(), LDShuffleScrambled2D(), Scene::lights, VolumeRegion::Lve(), Sample::oneD, VolumeRegion::p(), RNG::RandomFloat(), Light::Sample_L(), scatterSampleOffset, VolumeRegion::sigma_s(), stepSize, VolumeRegion::tau(), Ray::time, VisibilityTester::Transmittance(), VisibilityTester::Unoccluded(), Scene::volumeRegion, and RGBSpectrum::y().
void SingleScatteringIntegrator::RequestSamples | ( | Sampler * | sampler, | |
Sample * | sample, | |||
const Scene * | scene | |||
) | [virtual] |
Reimplemented from Integrator.
Definition at line 33 of file single.cpp.
References Sample::Add1D(), scatterSampleOffset, and tauSampleOffset.
Spectrum SingleScatteringIntegrator::Transmittance | ( | const Scene * | scene, | |
const Renderer * | renderer, | |||
const RayDifferential & | ray, | |||
const Sample * | sample, | |||
RNG & | rng, | |||
MemoryArena & | arena | |||
) | const [virtual] |
Implements VolumeIntegrator.
Definition at line 40 of file single.cpp.
References Sample::oneD, RNG::RandomFloat(), stepSize, VolumeRegion::tau(), tauSampleOffset, and Scene::volumeRegion.
int SingleScatteringIntegrator::scatterSampleOffset [private] |
Definition at line 50 of file single.h.
Referenced by Li(), and RequestSamples().
float SingleScatteringIntegrator::stepSize [private] |
Definition at line 49 of file single.h.
Referenced by Li(), SingleScatteringIntegrator(), and Transmittance().
int SingleScatteringIntegrator::tauSampleOffset [private] |
Definition at line 50 of file single.h.
Referenced by RequestSamples(), and Transmittance().