MetropolisRenderer Class Reference

#include <metropolis.h>

Inheritance diagram for MetropolisRenderer:
Renderer

List of all members.

Public Member Functions

 MetropolisRenderer (int perPixelSamples, int nBootstrap, int directPixelSamples, float largeStepProbability, bool doDirectSeparately, int maxConsecutiveRejects, int maxDepth, Camera *camera, bool doBidirectional)
 ~MetropolisRenderer ()
void Render (const Scene *scene)
Spectrum Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena, Intersection *isect=NULL, Spectrum *T=NULL) const
Spectrum Transmittance (const Scene *scene, const RayDifferential &ray, const Sample *sample, RNG &rng, MemoryArena &arena) const

Private Member Functions

Spectrum PathL (const MLTSample &sample, const Scene *scene, MemoryArena &arena, const Camera *camera, const Distribution1D *lightDistribution, PathVertex *cameraPath, PathVertex *lightPath, RNG &rng) const
Spectrum Lpath (const Scene *scene, const PathVertex *path, int pathLength, MemoryArena &arena, const vector< LightingSample > &samples, RNG &rng, float time, const Distribution1D *lightDistribution, const RayDifferential &escapedRay, const Spectrum &escapedAlpha) const
Spectrum Lbidir (const Scene *scene, const PathVertex *cameraPath, int cameraPathLength, const PathVertex *lightPath, int lightPathLength, MemoryArena &arena, const vector< LightingSample > &samples, RNG &rng, float time, const Distribution1D *lightDistribution, const RayDifferential &escapedRay, const Spectrum &escapedAlpha) const

Private Attributes

Cameracamera
bool bidirectional
uint32_t nDirectPixelSamples
uint32_t nPixelSamples
uint32_t maxDepth
uint32_t largeStepsPerPixel
uint32_t nBootstrap
uint32_t maxConsecutiveRejects
DirectLightingIntegratordirectLighting
AtomicInt32 nTasksFinished

Friends

class MLTTask

Detailed Description

Definition at line 42 of file metropolis.h.


Constructor & Destructor Documentation

MetropolisRenderer::MetropolisRenderer ( int  perPixelSamples,
int  nBootstrap,
int  directPixelSamples,
float  largeStepProbability,
bool  doDirectSeparately,
int  maxConsecutiveRejects,
int  maxDepth,
Camera camera,
bool  doBidirectional 
)
MetropolisRenderer::~MetropolisRenderer (  ) 

Definition at line 498 of file metropolis.cpp.

References camera, and directLighting.


Member Function Documentation

Spectrum MetropolisRenderer::Lbidir ( const Scene scene,
const PathVertex cameraPath,
int  cameraPathLength,
const PathVertex lightPath,
int  lightPathLength,
MemoryArena arena,
const vector< LightingSample > &  samples,
RNG rng,
float  time,
const Distribution1D lightDistribution,
const RayDifferential escapedRay,
const Spectrum escapedAlpha 
) const [private]
Spectrum MetropolisRenderer::Li ( const Scene scene,
const RayDifferential ray,
const Sample sample,
RNG rng,
MemoryArena arena,
Intersection isect = NULL,
Spectrum T = NULL 
) const [virtual]

Implements Renderer.

Definition at line 777 of file metropolis.cpp.

References directLighting, Scene::Intersect(), DirectLightingIntegrator::Li(), and Scene::lights.

Spectrum MetropolisRenderer::Lpath ( const Scene scene,
const PathVertex path,
int  pathLength,
MemoryArena arena,
const vector< LightingSample > &  samples,
RNG rng,
float  time,
const Distribution1D lightDistribution,
const RayDifferential escapedRay,
const Spectrum escapedAlpha 
) const [private]
Spectrum MetropolisRenderer::PathL ( const MLTSample sample,
const Scene scene,
MemoryArena arena,
const Camera camera,
const Distribution1D lightDistribution,
PathVertex cameraPath,
PathVertex lightPath,
RNG rng 
) const [private]
void MetropolisRenderer::Render ( const Scene scene  )  [virtual]
Spectrum MetropolisRenderer::Transmittance ( const Scene scene,
const RayDifferential ray,
const Sample sample,
RNG rng,
MemoryArena arena 
) const [virtual]

Implements Renderer.

Definition at line 797 of file metropolis.cpp.


Friends And Related Function Documentation

friend class MLTTask [friend]

Definition at line 80 of file metropolis.h.

Referenced by Render().


Member Data Documentation

Definition at line 75 of file metropolis.h.

Referenced by MetropolisRenderer(), PathL(), Render(), and MLTTask::Run().

Definition at line 74 of file metropolis.h.

Referenced by MetropolisRenderer(), Render(), and ~MetropolisRenderer().

Definition at line 78 of file metropolis.h.

Referenced by Lbidir(), Li(), Lpath(), MetropolisRenderer(), Render(), and ~MetropolisRenderer().

Definition at line 77 of file metropolis.h.

Referenced by MetropolisRenderer(), Render(), and MLTTask::Run().

Definition at line 77 of file metropolis.h.

Referenced by MetropolisRenderer(), and MLTTask::Run().

uint32_t MetropolisRenderer::maxDepth [private]

Definition at line 76 of file metropolis.h.

Referenced by MetropolisRenderer(), Render(), and MLTTask::Run().

uint32_t MetropolisRenderer::nBootstrap [private]

Definition at line 77 of file metropolis.h.

Referenced by MetropolisRenderer(), and Render().

Definition at line 76 of file metropolis.h.

Referenced by MetropolisRenderer(), and Render().

Definition at line 76 of file metropolis.h.

Referenced by MetropolisRenderer(), PathL(), Render(), and MLTTask::Run().

Definition at line 79 of file metropolis.h.

Referenced by MetropolisRenderer(), and MLTTask::Run().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:14 2010 for pbrt by  doxygen 1.6.3