#include <halton.h>
Public Member Functions | |
HaltonSampler (int xstart, int xend, int ystart, int yend, int nsamp, string pixelsampler) | |
~HaltonSampler () | |
int | RoundSize (int size) const |
u_int | GetTotalSamplePos () |
bool | GetNextSample (Sample *sample, u_int *use_pos) |
float * | GetLazyValues (Sample *sample, u_int num, u_int pos) |
virtual HaltonSampler * | 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 halton.h.
HaltonSampler::HaltonSampler | ( | int | xstart, | |
int | xend, | |||
int | ystart, | |||
int | yend, | |||
int | nsamp, | |||
string | pixelsampler | |||
) |
Definition at line 41 of file halton.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().
HaltonSampler::~HaltonSampler | ( | ) |
Definition at line 79 of file halton.cpp.
References imageSamples, n1D, n2D, nxD, oneDSamples, twoDSamples, and xDSamples.
HaltonSampler * HaltonSampler::clone | ( | ) | const [virtual] |
Definition at line 207 of file halton.cpp.
References lux::ParamSet::FindOneInt(), lux::ParamSet::FindOneString(), lux::Film::GetSampleExtent(), and HaltonSampler().
Referenced by lux::MakeSampler().
Reimplemented from lux::Sampler.
Definition at line 190 of file halton.cpp.
References lux::Sample::dxD, lux::Sample::nxD, pixelSamples, samplePos, lux::Sample::sxD, lux::Sample::xD, and xDSamples.
Implements lux::Sampler.
Definition at line 97 of file halton.cpp.
References lux::Sample::dxD, lux::Film::enoughSamplePerPixel, lux::Sampler::film, lux::random::floatValue(), lux::PixelSampler::GetNextPixel(), lux::HaltonShuffleScrambled1D(), lux::HaltonShuffleScrambled2D(), lux::Film::haltSamplePerPixel, imageSamples, lux::Sample::imageX, lux::Sample::imageY, lensSamples, lux::Sample::lensU, lux::Sample::lensV, n1D, lux::Sample::n1D, n2D, lux::Sample::n2D, nxD, lux::Sample::nxD, lux::Sample::oneD, oneDSamples, pixelSampler, pixelSamples, lux::PixelSampler::renderingDone, samplePos, lux::Sample::sampler, lux::Sample::singleWavelength, lux::Sample::sxD, lux::Sample::time, timeSamples, lux::Sample::twoD, twoDSamples, lux::Sample::wavelengths, wavelengthsSamples, xDSamples, xPos, and yPos.
u_int HaltonSampler::GetTotalSamplePos | ( | ) | [virtual] |
int lux::HaltonSampler::RoundSize | ( | int | size | ) | const [inline, virtual] |
float* lux::HaltonSampler::imageSamples [private] |
Definition at line 53 of file halton.h.
Referenced by GetNextSample(), HaltonSampler(), and ~HaltonSampler().
float * lux::HaltonSampler::lensSamples [private] |
int lux::HaltonSampler::n1D [private] |
Definition at line 56 of file halton.h.
Referenced by GetNextSample(), HaltonSampler(), and ~HaltonSampler().
int lux::HaltonSampler::n2D [private] |
Definition at line 56 of file halton.h.
Referenced by GetNextSample(), HaltonSampler(), and ~HaltonSampler().
int lux::HaltonSampler::nxD [private] |
Definition at line 56 of file halton.h.
Referenced by GetNextSample(), HaltonSampler(), and ~HaltonSampler().
float** lux::HaltonSampler::oneDSamples [private] |
Definition at line 55 of file halton.h.
Referenced by GetNextSample(), HaltonSampler(), and ~HaltonSampler().
PixelSampler* lux::HaltonSampler::pixelSampler [private] |
int lux::HaltonSampler::pixelSamples [private] |
Definition at line 51 of file halton.h.
Referenced by GetLazyValues(), GetNextSample(), and HaltonSampler().
int lux::HaltonSampler::samplePos [private] |
Definition at line 52 of file halton.h.
Referenced by GetLazyValues(), GetNextSample(), and HaltonSampler().
float * lux::HaltonSampler::singleWavelengthSamples [private] |
float * lux::HaltonSampler::timeSamples [private] |
u_int lux::HaltonSampler::TotalPixels [private] |
float ** lux::HaltonSampler::twoDSamples [private] |
Definition at line 55 of file halton.h.
Referenced by GetNextSample(), HaltonSampler(), and ~HaltonSampler().
float * lux::HaltonSampler::wavelengthsSamples [private] |
float ** lux::HaltonSampler::xDSamples [private] |
Definition at line 55 of file halton.h.
Referenced by GetLazyValues(), GetNextSample(), HaltonSampler(), and ~HaltonSampler().
int lux::HaltonSampler::xPos [private] |
int lux::HaltonSampler::yPos [private] |