Public Member Functions | |
MLTTask (ProgressReporter &prog, uint32_t pfreq, uint32_t taskNum, float dx, float dy, int xx0, int xx1, int yy0, int yy1, float tt0, float tt1, float bb, const MLTSample &is, const Scene *sc, const Camera *c, MetropolisRenderer *renderer, Mutex *filmMutex, Distribution1D *lightDistribution) | |
void | Run () |
Private Attributes | |
ProgressReporter & | progress |
uint32_t | progressUpdateFrequency |
uint32_t | taskNum |
float | dx |
float | dy |
int | currentPixelSample |
int | x0 |
int | x1 |
int | y0 |
int | y1 |
float | t0 |
float | t1 |
float | b |
const MLTSample & | initialSample |
const Scene * | scene |
const Camera * | camera |
MetropolisRenderer * | renderer |
Mutex * | filmMutex |
Distribution1D * | lightDistribution |
Definition at line 192 of file metropolis.cpp.
MLTTask::MLTTask | ( | ProgressReporter & | prog, | |
uint32_t | pfreq, | |||
uint32_t | taskNum, | |||
float | dx, | |||
float | dy, | |||
int | xx0, | |||
int | xx1, | |||
int | yy0, | |||
int | yy1, | |||
float | tt0, | |||
float | tt1, | |||
float | bb, | |||
const MLTSample & | is, | |||
const Scene * | sc, | |||
const Camera * | c, | |||
MetropolisRenderer * | renderer, | |||
Mutex * | filmMutex, | |||
Distribution1D * | lightDistribution | |||
) |
Definition at line 638 of file metropolis.cpp.
References b, camera, currentPixelSample, dx, dy, filmMutex, lightDistribution, progressUpdateFrequency, renderer, scene, t0, t1, taskNum, x0, x1, y0, and y1.
void MLTTask::Run | ( | ) | [virtual] |
Implements Task.
Definition at line 663 of file metropolis.cpp.
References arena, Assert, AtomicAdd(), b, MetropolisRenderer::bidirectional, camera, dx, dy, Camera::film, filmMutex, MemoryArena::FreeAll(), I(), initialSample, LargeStep(), MetropolisRenderer::largeStepsPerPixel, lightDistribution, MetropolisRenderer::maxConsecutiveRejects, MetropolisRenderer::maxDepth, MetropolisRenderer::nPixelSamples, MetropolisRenderer::nTasksFinished, MetropolisRenderer::PathL(), progress, progressUpdateFrequency, RNG::RandomFloat(), renderer, rng, scene, Shuffle(), SmallStep(), Film::Splat(), t0, t1, taskNum, ProgressReporter::Update(), Film::UpdateDisplay(), Film::WriteImage(), x0, x1, y0, and y1.
float MLTTask::b [private] |
Definition at line 208 of file metropolis.cpp.
const Camera* MLTTask::camera [private] |
Definition at line 211 of file metropolis.cpp.
int MLTTask::currentPixelSample [private] |
Definition at line 205 of file metropolis.cpp.
Referenced by MLTTask().
float MLTTask::dx [private] |
Definition at line 204 of file metropolis.cpp.
float MLTTask::dy [private] |
Definition at line 204 of file metropolis.cpp.
Mutex* MLTTask::filmMutex [private] |
Definition at line 213 of file metropolis.cpp.
const MLTSample& MLTTask::initialSample [private] |
Definition at line 209 of file metropolis.cpp.
Referenced by Run().
Distribution1D* MLTTask::lightDistribution [private] |
Definition at line 214 of file metropolis.cpp.
ProgressReporter& MLTTask::progress [private] |
Definition at line 202 of file metropolis.cpp.
Referenced by Run().
uint32_t MLTTask::progressUpdateFrequency [private] |
Definition at line 203 of file metropolis.cpp.
MetropolisRenderer* MLTTask::renderer [private] |
Definition at line 212 of file metropolis.cpp.
const Scene* MLTTask::scene [private] |
Definition at line 210 of file metropolis.cpp.
float MLTTask::t0 [private] |
Definition at line 207 of file metropolis.cpp.
float MLTTask::t1 [private] |
Definition at line 207 of file metropolis.cpp.
uint32_t MLTTask::taskNum [private] |
Definition at line 203 of file metropolis.cpp.
int MLTTask::x0 [private] |
Definition at line 206 of file metropolis.cpp.
int MLTTask::x1 [private] |
Definition at line 206 of file metropolis.cpp.
int MLTTask::y0 [private] |
Definition at line 206 of file metropolis.cpp.
int MLTTask::y1 [private] |
Definition at line 206 of file metropolis.cpp.