#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 |
void | SetFilm (Film *f) |
virtual void | GetBufferType (BufferType *t) |
virtual void | AddSample (const Sample &sample) |
virtual Sampler * | clone () const =0 |
virtual bool | IsMutating () |
void | SetContributionPool (ContributionPool *p) |
void | Cleanup () |
void | SetTsPack (TsPack *t) |
Public Attributes | |
TsPack * | tspack |
int | xPixelStart |
int | xPixelEnd |
int | yPixelStart |
int | yPixelEnd |
int | samplesPerPixel |
Film * | film |
ContributionPool * | contribPool |
ContributionBuffer * | contribBuffer |
Definition at line 106 of file sampling.h.
virtual lux::Sampler::~Sampler | ( | ) | [inline, virtual] |
Definition at line 109 of file sampling.h.
Definition at line 34 of file sampling.cpp.
References samplesPerPixel, xPixelEnd, xPixelStart, yPixelEnd, and yPixelStart.
void Sampler::AddSample | ( | const Sample & | sample | ) | [virtual] |
Reimplemented in lux::ERPTSampler, and lux::MetropolisSampler.
Definition at line 46 of file sampling.cpp.
References lux::ContributionBuffer::Add(), lux::ContributionBuffer::AddSampleCount(), contribBuffer, lux::Scene::contribPool, lux::Sample::contributions, film, lux::ContributionPool::Next(), and lux::Film::scene.
Referenced by lux::RenderThread::render().
void lux::Sampler::Cleanup | ( | ) | [inline] |
Definition at line 127 of file sampling.h.
References contribBuffer, contribPool, and lux::ContributionPool::End().
Referenced by lux::RenderThread::render().
virtual Sampler* lux::Sampler::clone | ( | ) | const [pure virtual] |
Implemented in lux::ERPTSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::ERPTSampler::clone().
virtual void lux::Sampler::GetBufferType | ( | BufferType * | t | ) | [inline, virtual] |
Reimplemented in lux::ERPTSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Definition at line 119 of file sampling.h.
Referenced by lux::PathIntegrator::Preprocess(), lux::IGIIntegrator::Preprocess(), lux::ExPhotonIntegrator::Preprocess(), lux::DistributedPath::Preprocess(), lux::DirectLightingIntegrator::Preprocess(), and lux::BidirIntegrator::Preprocess().
Reimplemented in lux::ERPTSampler, 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 generateEyePath(), generateLightPath(), lux::ERPTSampler::GetLazyValues(), lux::PathIntegrator::Li(), lux::BidirIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DirectLightingIntegrator::LiInternal(), and lux::ExPhotonIntegrator::LiPathMode().
Implemented in lux::ERPTSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::Metropolis::GetNextSample(), lux::ERPTSampler::GetNextSample(), and lux::RenderThread::render().
virtual u_int lux::Sampler::GetTotalSamplePos | ( | ) | [pure virtual] |
Implemented in lux::ERPTSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::ERPTSampler::GetTotalSamplePos(), and lux::RenderThread::render().
virtual bool lux::Sampler::IsMutating | ( | ) | [inline, virtual] |
Reimplemented in lux::ERPTSampler, and lux::MetropolisSampler.
Definition at line 123 of file sampling.h.
Referenced by lux::PathIntegrator::RequestSamples(), lux::DistributedPath::RequestSamples(), and lux::BidirIntegrator::RequestSamples().
Implemented in lux::ERPTSampler, lux::LDSampler, lux::MetropolisSampler, and lux::RandomSampler.
Referenced by lux::PhotonIntegrator::RequestSamples(), lux::IrradianceCache::RequestSamples(), and lux::ERPTSampler::RoundSize().
void lux::Sampler::SetContributionPool | ( | ContributionPool * | p | ) | [inline] |
Definition at line 125 of file sampling.h.
References contribPool.
Referenced by lux::Scene::Render().
void lux::Sampler::SetFilm | ( | Film * | f | ) | [inline] |
Definition at line 118 of file sampling.h.
References film.
Referenced by initERPT(), and lux::Scene::Render().
void lux::Sampler::SetTsPack | ( | TsPack * | t | ) | [inline] |
Definition at line 132 of file sampling.h.
References tspack.
Referenced by initERPT(), lux::Scene::Render(), and lux::RenderThread::render().
int lux::Sampler::TotalSamples | ( | ) | const [inline] |
Definition at line 114 of file sampling.h.
References samplesPerPixel, xPixelEnd, xPixelStart, yPixelEnd, and yPixelStart.
Definition at line 140 of file sampling.h.
Referenced by AddSample(), lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), Cleanup(), lux::RandomSampler::GetNextSample(), lux::LDSampler::GetNextSample(), initERPT(), and initMetropolis().
Definition at line 139 of file sampling.h.
Referenced by Cleanup(), and SetContributionPool().
Definition at line 138 of file sampling.h.
Referenced by AddSample(), lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), initERPT(), initMetropolis(), and SetFilm().
Definition at line 137 of file sampling.h.
Referenced by Sampler(), and TotalSamples().
Definition at line 133 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RandomSampler::GetLazyValues(), lux::ERPTSampler::GetLazyValues(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), initERPT(), and SetTsPack().
Definition at line 136 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), Sampler(), and TotalSamples().
Definition at line 136 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::LDSampler::LDSampler(), lux::RandomSampler::RandomSampler(), Sampler(), and TotalSamples().
Definition at line 136 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), Sampler(), and TotalSamples().
Definition at line 136 of file sampling.h.
Referenced by lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::LDSampler::LDSampler(), lux::RandomSampler::RandomSampler(), Sampler(), and TotalSamples().