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.
1.6.3