#include <sampling.h>
Public Member Functions | |
virtual | ~Sampler () |
Sampler (int xstart, int xend, int ystart, int yend, int spp) | |
virtual bool | GetNextSample (Sample *sample, u_int *use_pos)=0 |
virtual float * | GetLazyValues (Sample *sample, u_int num, u_int pos) |
virtual u_int | GetTotalSamplePos ()=0 |
int | TotalSamples () const |
virtual int | RoundSize (int size) const =0 |
virtual void | SampleBegin (const Sample *sample) |
virtual void | SampleEnd () |
void | SetFilm (Film *f) |
virtual void | GetBufferType (BufferType *t) |
virtual void | AddSample (const Sample &sample) |
virtual Sampler * | clone () const =0 |
Public Attributes | |
int | xPixelStart |
int | xPixelEnd |
int | yPixelStart |
int | yPixelEnd |
int | samplesPerPixel |
Film * | film |
bool | isSampleEnd |
Definition at line 117 of file sampling.h.
virtual lux::Sampler::~Sampler | ( | ) | [inline, virtual] |
Definition at line 120 of file sampling.h.
Sampler::Sampler | ( | int | xstart, | |
int | xend, | |||
int | ystart, | |||
int | yend, | |||
int | spp | |||
) |
Definition at line 33 of file sampling.cpp.
References isSampleEnd, samplesPerPixel, xPixelEnd, xPixelStart, yPixelEnd, and yPixelStart.
void Sampler::AddSample | ( | const Sample & | sample | ) | [virtual] |
Reimplemented in lux::ERPTSampler, and lux::MetropolisSampler.
Definition at line 52 of file sampling.cpp.
References lux::Film::AddSample(), lux::Film::AddSampleCount(), lux::Sample::contributions, and film.
Referenced by lux::RenderThread::render().
virtual Sampler* lux::Sampler::clone | ( | ) | const [pure virtual] |
Implemented in lux::ERPTSampler, lux::HaltonSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::Scene::CreateRenderThread().
virtual void lux::Sampler::GetBufferType | ( | BufferType * | t | ) | [inline, virtual] |
Reimplemented in lux::ERPTSampler, lux::HaltonSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Definition at line 42 of file sampling.cpp.
References lux::Sample::dxD, and lux::Sample::xD.
Referenced by generateLightPath(), lux::BidirIntegrator::generatePath(), lux::Path2Integrator::Li(), lux::PathIntegrator::Li(), lux::ParticleTracingIntegrator::Li(), lux::BidirIntegrator::Li(), lux::ExPhotonIntegrator::LiInternal(), and lux::DirectLighting::LiInternal().
Implemented in lux::ERPTSampler, lux::HaltonSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::Metropolis::GetNextSample(), and lux::RenderThread::render().
virtual u_int lux::Sampler::GetTotalSamplePos | ( | ) | [pure virtual] |
Implemented in lux::ERPTSampler, lux::HaltonSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::RenderThread::render().
virtual int lux::Sampler::RoundSize | ( | int | size | ) | const [pure virtual] |
Implemented in lux::ERPTSampler, lux::HaltonSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::PhotonIntegrator::RequestSamples(), lux::IrradianceCache::RequestSamples(), and lux::IGIIntegrator::RequestSamples().
virtual void lux::Sampler::SampleBegin | ( | const Sample * | sample | ) | [inline, virtual] |
Definition at line 129 of file sampling.h.
References lux::Sample::contributions, and isSampleEnd.
Referenced by lux::SampleGuard::SampleGuard().
virtual void lux::Sampler::SampleEnd | ( | ) | [inline, virtual] |
Definition at line 134 of file sampling.h.
References isSampleEnd.
Referenced by lux::SampleGuard::~SampleGuard().
void lux::Sampler::SetFilm | ( | Film * | f | ) | [inline] |
int lux::Sampler::TotalSamples | ( | ) | const [inline] |
Definition at line 125 of file sampling.h.
References samplesPerPixel, xPixelEnd, xPixelStart, yPixelEnd, and yPixelStart.
Definition at line 151 of file sampling.h.
Referenced by AddSample(), lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), and SetFilm().
Definition at line 152 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), SampleBegin(), SampleEnd(), and Sampler().
Definition at line 149 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), Sampler(), and TotalSamples().
Definition at line 149 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::HaltonSampler::HaltonSampler(), lux::LDSampler::LDSampler(), lux::RandomSampler::RandomSampler(), Sampler(), and TotalSamples().
Definition at line 149 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), Sampler(), and TotalSamples().
Definition at line 149 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::HaltonSampler::HaltonSampler(), lux::LDSampler::LDSampler(), lux::RandomSampler::RandomSampler(), Sampler(), and TotalSamples().