#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::cimg::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.
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] |
Implements lux::Sampler.
int lux::ERPTSampler::RoundSize | ( | int | size | ) | const [inline, virtual] |
Implements lux::Sampler.
float lux::ERPTSampler::alpha |
Definition at line 52 of file erpt.h.
Referenced by AddSample().
float* lux::ERPTSampler::baseImage |
Definition at line 53 of file erpt.h.
Referenced by AddSample(), GetLazyValues(), GetNextSample(), initERPT(), and ~ERPTSampler().
Definition at line 51 of file erpt.h.
Referenced by AddSample(), and GetNextSample().
Definition at line 51 of file erpt.h.
Referenced by AddSample().
Definition at line 59 of file erpt.h.
Referenced by ERPTSampler(), and GetNextSample().
float lux::ERPTSampler::gain |
Definition at line 50 of file erpt.h.
Referenced by AddSample().
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 |
Definition at line 50 of file erpt.h.
Referenced by AddSample().
float ERPTSampler::meanIntensity = 0.f [static] |
Definition at line 56 of file erpt.h.
Referenced by AddSample(), and CreateSampler().
Definition at line 51 of file erpt.h.
Referenced by AddSample(), and GetNextSample().
Definition at line 51 of file erpt.h.
Referenced by GetNextSample(), and initERPT().
Definition at line 51 of file erpt.h.
Referenced by AddSample().
int * lux::ERPTSampler::offset |
Definition at line 54 of file erpt.h.
Referenced by GetLazyValues(), and initERPT().
Definition at line 57 of file erpt.h.
Referenced by AddSample().
float lux::ERPTSampler::range |
Definition at line 52 of file erpt.h.
Referenced by CreateSampler(), and GetNextSample().
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(), and GetLazyValues().
Definition at line 58 of file erpt.h.
Referenced by ERPTSampler(), and GetNextSample().
Definition at line 59 of file erpt.h.
Referenced by ERPTSampler(), and GetNextSample().
Definition at line 59 of file erpt.h.
Referenced by GetNextSample().
Definition at line 54 of file erpt.h.
Referenced by AddSample(), initERPT(), and ~ERPTSampler().
Definition at line 51 of file erpt.h.
Referenced by AddSample().
Definition at line 51 of file erpt.h.
Referenced by AddSample(), clone(), GetNextSample(), and initERPT().
Definition at line 51 of file erpt.h.
Referenced by AddSample(), GetNextSample(), and initERPT().
float lux::ERPTSampler::weight |
Definition at line 52 of file erpt.h.
Referenced by AddSample().