#include <lowdiscrepancy.h>
Public Member Functions | |
LDSampler (int xstart, int xend, int ystart, int yend, int nsamp, string pixelsampler) | |
virtual | ~LDSampler () |
virtual int | RoundSize (int size) const |
virtual void | GetBufferType (BufferType *type) |
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 LDSampler * | clone () const |
Static Public Member Functions | |
static Sampler * | CreateSampler (const ParamSet ¶ms, const Film *film) |
Private Attributes | |
int | xPos |
int | yPos |
int | pixelSamples |
int | samplePos |
float * | imageSamples |
float * | lensSamples |
float * | timeSamples |
float * | wavelengthsSamples |
float * | singleWavelengthSamples |
float ** | oneDSamples |
float ** | twoDSamples |
float ** | xDSamples |
int | n1D |
int | n2D |
int | nxD |
u_int | TotalPixels |
PixelSampler * | pixelSampler |
Definition at line 32 of file lowdiscrepancy.h.
Definition at line 44 of file lowdiscrepancy.cpp.
References lux::PixelSampler::GetTotalPixels(), imageSamples, IsPowerOf2(), lensSamples, LUX_CONSISTENCY, LUX_WARNING, luxError, n1D, n2D, nxD, oneDSamples, pixelSampler, pixelSamples, RoundUpPow2(), samplePos, singleWavelengthSamples, timeSamples, TotalPixels, twoDSamples, wavelengthsSamples, xDSamples, lux::Sampler::xPixelStart, xPos, lux::Sampler::yPixelStart, and yPos.
Referenced by clone(), and CreateSampler().
LDSampler::~LDSampler | ( | ) | [virtual] |
Definition at line 83 of file lowdiscrepancy.cpp.
References imageSamples, n1D, n2D, nxD, oneDSamples, twoDSamples, and xDSamples.
LDSampler * LDSampler::clone | ( | ) | const [virtual] |
Definition at line 220 of file lowdiscrepancy.cpp.
References lux::ParamSet::FindOneInt(), lux::ParamSet::FindOneString(), lux::Film::GetSampleExtent(), and LDSampler().
virtual void lux::LDSampler::GetBufferType | ( | BufferType * | type | ) | [inline, virtual] |
Reimplemented from lux::Sampler.
Definition at line 43 of file lowdiscrepancy.h.
References lux::BUF_TYPE_PER_PIXEL.
Reimplemented from lux::Sampler.
Definition at line 202 of file lowdiscrepancy.cpp.
References lux::Sample::dxD, lux::Sample::nxD, pixelSamples, samplePos, lux::Sample::sxD, lux::Sample::xD, and xDSamples.
Implements lux::Sampler.
Definition at line 101 of file lowdiscrepancy.cpp.
References lux::Sampler::contribBuffer, lux::Scene::contribPool, lux::Sample::dxD, lux::Film::enoughSamplePerPixel, lux::Sampler::film, lux::PixelSampler::GetNextPixel(), imageSamples, lux::Sample::imageX, lux::Sample::imageY, lux::LDShuffleScrambled1D(), lux::LDShuffleScrambled2D(), lensSamples, lux::Sample::lensU, lux::Sample::lensV, n1D, lux::Sample::n1D, n2D, lux::Sample::n2D, lux::ContributionPool::Next(), nxD, lux::Sample::nxD, lux::Sample::oneD, oneDSamples, pixelSampler, pixelSamples, lux::PixelSampler::renderingDone, samplePos, lux::Sample::sampler, lux::Film::scene, lux::Sample::singleWavelength, singleWavelengthSamples, lux::Sample::sxD, lux::Sample::time, timeSamples, lux::Sampler::tspack, lux::Sample::twoD, twoDSamples, lux::Sample::wavelengths, wavelengthsSamples, xDSamples, xPos, and yPos.
u_int LDSampler::GetTotalSamplePos | ( | ) | [virtual] |
float* lux::LDSampler::imageSamples [private] |
Definition at line 54 of file lowdiscrepancy.h.
Referenced by GetNextSample(), LDSampler(), and ~LDSampler().
float * lux::LDSampler::lensSamples [private] |
Definition at line 54 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().
int lux::LDSampler::n1D [private] |
Definition at line 57 of file lowdiscrepancy.h.
Referenced by GetNextSample(), LDSampler(), and ~LDSampler().
int lux::LDSampler::n2D [private] |
Definition at line 57 of file lowdiscrepancy.h.
Referenced by GetNextSample(), LDSampler(), and ~LDSampler().
int lux::LDSampler::nxD [private] |
Definition at line 57 of file lowdiscrepancy.h.
Referenced by GetNextSample(), LDSampler(), and ~LDSampler().
float** lux::LDSampler::oneDSamples [private] |
Definition at line 56 of file lowdiscrepancy.h.
Referenced by GetNextSample(), LDSampler(), and ~LDSampler().
PixelSampler* lux::LDSampler::pixelSampler [private] |
Definition at line 59 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().
int lux::LDSampler::pixelSamples [private] |
Definition at line 52 of file lowdiscrepancy.h.
Referenced by GetLazyValues(), GetNextSample(), and LDSampler().
int lux::LDSampler::samplePos [private] |
Definition at line 53 of file lowdiscrepancy.h.
Referenced by GetLazyValues(), GetNextSample(), and LDSampler().
float * lux::LDSampler::singleWavelengthSamples [private] |
Definition at line 54 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().
float * lux::LDSampler::timeSamples [private] |
Definition at line 54 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().
u_int lux::LDSampler::TotalPixels [private] |
Definition at line 58 of file lowdiscrepancy.h.
Referenced by GetTotalSamplePos(), and LDSampler().
float ** lux::LDSampler::twoDSamples [private] |
Definition at line 56 of file lowdiscrepancy.h.
Referenced by GetNextSample(), LDSampler(), and ~LDSampler().
float * lux::LDSampler::wavelengthsSamples [private] |
Definition at line 54 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().
float ** lux::LDSampler::xDSamples [private] |
Definition at line 56 of file lowdiscrepancy.h.
Referenced by GetLazyValues(), GetNextSample(), LDSampler(), and ~LDSampler().
int lux::LDSampler::xPos [private] |
Definition at line 52 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().
int lux::LDSampler::yPos [private] |
Definition at line 52 of file lowdiscrepancy.h.
Referenced by GetNextSample(), and LDSampler().