#include <random.h>
Public Member Functions | |
RandomSampler (int xstart, int xend, int ystart, int yend, int ps, string pixelsampler) | |
virtual | ~RandomSampler () |
virtual u_int | GetTotalSamplePos () |
virtual bool | GetNextSample (Sample *sample, u_int *use_pos) |
virtual float * | GetLazyValues (Sample *sample, u_int num, u_int pos) |
virtual int | RoundSize (int sz) const |
virtual void | GetBufferType (BufferType *type) |
virtual RandomSampler * | clone () const |
Static Public Member Functions | |
static Sampler * | CreateSampler (const ParamSet ¶ms, const Film *film) |
Private Attributes | |
bool | jitterSamples |
int | xPos |
int | yPos |
int | pixelSamples |
float * | imageSamples |
float * | lensSamples |
float * | timeSamples |
float * | wavelengthsSamples |
float * | singleWavelengthSamples |
int | samplePos |
u_int | TotalPixels |
PixelSampler * | pixelSampler |
bool | init |
Definition at line 31 of file random.h.
RandomSampler::RandomSampler | ( | int | xstart, | |
int | xend, | |||
int | ystart, | |||
int | yend, | |||
int | ps, | |||
string | pixelsampler | |||
) |
Definition at line 43 of file random.cpp.
References lux::PixelSampler::GetTotalPixels(), imageSamples, init, lensSamples, pixelSampler, pixelSamples, samplePos, singleWavelengthSamples, timeSamples, TotalPixels, wavelengthsSamples, lux::Sampler::xPixelStart, xPos, lux::Sampler::yPixelStart, and yPos.
Referenced by clone(), and CreateSampler().
RandomSampler::~RandomSampler | ( | ) | [virtual] |
Definition at line 79 of file random.cpp.
References lux::FreeAligned(), and imageSamples.
RandomSampler * RandomSampler::clone | ( | ) | const [virtual] |
Definition at line 155 of file random.cpp.
References lux::ParamSet::FindOneInt(), lux::ParamSet::FindOneString(), lux::Film::GetSampleExtent(), LUX_NOERROR, LUX_WARNING, luxError, and RandomSampler().
virtual void lux::RandomSampler::GetBufferType | ( | BufferType * | type | ) | [inline, virtual] |
Reimplemented from lux::Sampler.
Definition at line 45 of file random.h.
References lux::BUF_TYPE_PER_PIXEL.
Reimplemented from lux::Sampler.
Definition at line 147 of file random.cpp.
References lux::Sample::dxD, lux::RandomGenerator::floatValue(), lux::TsPack::rng, lux::Sampler::tspack, and lux::Sample::xD.
Implements lux::Sampler.
Definition at line 90 of file random.cpp.
References lux::Sampler::contribBuffer, lux::Scene::contribPool, lux::Film::enoughSamplePerPixel, lux::Sampler::film, lux::RandomGenerator::floatValue(), lux::PixelSampler::GetNextPixel(), imageSamples, lux::Sample::imageX, lux::Sample::imageY, init, lensSamples, lux::Sample::lensU, lux::Sample::lensV, lux::Sample::n1D, lux::Sample::n2D, lux::ContributionPool::Next(), lux::Sample::oneD, pixelSampler, pixelSamples, lux::PixelSampler::renderingDone, lux::TsPack::rng, samplePos, lux::Sample::sampler, lux::Film::scene, lux::Sample::singleWavelength, singleWavelengthSamples, lux::Sample::time, timeSamples, lux::Sampler::tspack, lux::Sample::twoD, lux::Sample::wavelengths, wavelengthsSamples, xPos, and yPos.
u_int RandomSampler::GetTotalSamplePos | ( | ) | [virtual] |
Implements lux::Sampler.
float* lux::RandomSampler::imageSamples [private] |
Definition at line 53 of file random.h.
Referenced by GetNextSample(), RandomSampler(), and ~RandomSampler().
bool lux::RandomSampler::init [private] |
Definition at line 58 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
bool lux::RandomSampler::jitterSamples [private] |
float * lux::RandomSampler::lensSamples [private] |
Definition at line 53 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
PixelSampler* lux::RandomSampler::pixelSampler [private] |
Definition at line 57 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
int lux::RandomSampler::pixelSamples [private] |
Definition at line 52 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
int lux::RandomSampler::samplePos [private] |
Definition at line 55 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
float * lux::RandomSampler::singleWavelengthSamples [private] |
Definition at line 53 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
float * lux::RandomSampler::timeSamples [private] |
Definition at line 53 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
u_int lux::RandomSampler::TotalPixels [private] |
Definition at line 56 of file random.h.
Referenced by GetTotalSamplePos(), and RandomSampler().
float * lux::RandomSampler::wavelengthsSamples [private] |
Definition at line 53 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
int lux::RandomSampler::xPos [private] |
Definition at line 52 of file random.h.
Referenced by GetNextSample(), and RandomSampler().
int lux::RandomSampler::yPos [private] |
Definition at line 52 of file random.h.
Referenced by GetNextSample(), and RandomSampler().