#include <erpt.h>
Public Member Functions | |
ERPTSampler (int xStart, int xEnd, int yStart, int yEnd, int totMutations, float rng, int sw) | |
~ERPTSampler () | |
virtual ERPTSampler * | clone () const |
u_int | GetTotalSamplePos () |
int | RoundSize (int size) const |
bool | GetNextSample (Sample *sample, u_int *use_pos) |
float * | GetLazyValues (Sample *sample, u_int num, u_int pos) |
void | AddSample (float imageX, float imageY, const Sample &sample, const Ray &ray, const XYZColor &L, float alpha, int id=0) |
void | AddSample (const Sample &sample) |
Static Public Member Functions | |
static Sampler * | CreateSampler (const ParamSet ¶ms, const Film *film) |
Public Attributes | |
float | LY |
float | gain |
int | normalSamples |
int | totalSamples |
int | totalTimes |
int | totalMutations |
int | chain |
int | numChains |
int | mutation |
int | consecRejects |
int | stamp |
float | range |
float | weight |
float | alpha |
float * | baseImage |
float * | sampleImage |
int * | timeImage |
int * | offset |
vector< Sample::Contribution > | oldContributions |
float * | strataSamples |
int | strataWidth |
int | strataSqr |
int | currentStrata |
Static Public Attributes | |
static int | initCount |
static int | initSamples |
static float | meanIntensity = 0.f |
Definition at line 35 of file erpt.h.
ERPTSampler::ERPTSampler | ( | int | xStart, | |
int | xEnd, | |||
int | yStart, | |||
int | yEnd, | |||
int | totMutations, | |||
float | rng, | |||
int | sw | |||
) |
Definition at line 66 of file erpt.cpp.
References lux::AllocAligned(), currentStrata, strataSamples, and strataSqr.
Referenced by clone(), and CreateSampler().
ERPTSampler::~ERPTSampler | ( | ) |
Definition at line 80 of file erpt.cpp.
References baseImage, lux::FreeAligned(), sampleImage, and timeImage.
void ERPTSampler::AddSample | ( | const Sample & | sample | ) | [virtual] |
Reimplemented from lux::Sampler.
Definition at line 223 of file erpt.cpp.
References lux::Film::AddSample(), lux::Film::AddSampleCount(), alpha, baseImage, chain, consecRejects, lux::Sample::contributions, lux::Sampler::film, lux::random::floatValue(), Floor2Int(), gain, if(), lux::Sample::imageX, lux::Sample::imageY, initCount, initSamples, lux::Sample::lensU, lux::Sample::lensV, LY, meanIntensity, cimg_library::min(), mutation, numChains, oldContributions, lux::Sample::oneD, SAMPLE_FLOATS, sampleImage, lux::Sample::singleWavelength, lux::Sample::stamp, stamp, lux::Sample::time, timeImage, lux::Sample::timexD, totalMutations, totalSamples, totalTimes, lux::Sample::wavelengths, and weight.
void ERPTSampler::AddSample | ( | float | imageX, | |
float | imageY, | |||
const Sample & | sample, | |||
const Ray & | ray, | |||
const XYZColor & | L, | |||
float | alpha, | |||
int | id = 0 | |||
) |
Definition at line 213 of file erpt.cpp.
References lux::Sample::AddContribution(), lux::Sample::contributions, and lux::Sampler::isSampleEnd.
ERPTSampler * ERPTSampler::clone | ( | ) | const [virtual] |
Implements lux::Sampler.
Definition at line 87 of file erpt.cpp.
References ERPTSampler(), sampleImage, and totalSamples.
Definition at line 316 of file erpt.cpp.
References ERPTSampler(), lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOneInt(), lux::Film::GetSampleExtent(), initCount, initSamples, meanIntensity, and range.
Referenced by lux::MakeSampler().
Reimplemented from lux::Sampler.
Definition at line 187 of file erpt.cpp.
References baseImage, lux::Sample::dxD, lux::random::floatValue(), mutate(), offset, sampleImage, stamp, lux::Sample::stamp, cimg_library::cimg::time(), lux::Sample::timexD, and lux::Sample::xD.
Implements lux::Sampler.
Definition at line 117 of file erpt.cpp.
References baseImage, chain, currentStrata, lux::Film::enoughSamplePerPixel, lux::Sampler::film, lux::random::floatValue(), lux::Film::haltSamplePerPixel, lux::Sample::imageX, lux::Sample::imageY, initCount, initERPT(), initSamples, lux::Sample::lensU, lux::Sample::lensV, mutate(), mutateScaled(), mutation, normalSamples, lux::Sample::oneD, range, SAMPLE_FLOATS, sampleImage, lux::Sample::sampler, lux::Shuffle(), lux::Sample::singleWavelength, lux::Sample::stamp, strataSamples, strataSqr, strataWidth, lux::StratifiedSample2D(), lux::Sample::time, lux::Sample::timexD, totalSamples, totalTimes, lux::Sample::wavelengths, lux::Sampler::xPixelEnd, lux::Sampler::xPixelStart, lux::Sampler::yPixelEnd, and lux::Sampler::yPixelStart.
u_int lux::ERPTSampler::GetTotalSamplePos | ( | ) | [inline, virtual] |
int lux::ERPTSampler::RoundSize | ( | int | size | ) | const [inline, virtual] |
float lux::ERPTSampler::alpha |
float* lux::ERPTSampler::baseImage |
Definition at line 53 of file erpt.h.
Referenced by AddSample(), GetLazyValues(), GetNextSample(), initERPT(), and ~ERPTSampler().
float lux::ERPTSampler::gain |
int ERPTSampler::initCount [static] |
Definition at line 55 of file erpt.h.
Referenced by AddSample(), CreateSampler(), and GetNextSample().
int ERPTSampler::initSamples [static] |
Definition at line 55 of file erpt.h.
Referenced by AddSample(), CreateSampler(), and GetNextSample().
float lux::ERPTSampler::LY |
float ERPTSampler::meanIntensity = 0.f [static] |
int * lux::ERPTSampler::offset |
float lux::ERPTSampler::range |
float * lux::ERPTSampler::sampleImage |
Definition at line 53 of file erpt.h.
Referenced by AddSample(), clone(), GetLazyValues(), GetNextSample(), initERPT(), and ~ERPTSampler().
Definition at line 51 of file erpt.h.
Referenced by AddSample(), clone(), GetNextSample(), and initERPT().
float lux::ERPTSampler::weight |