photonMapper Element Reference

Implementation of Henrik Wann Jensen's photon mapping algorithm. More...

Inheritance diagram for photonMapper:

renderer

List of all members.

Attributes

unsigned int noRenderThreads
 Number of core rendering threads to use during rendering.
unsigned int noDirectSamples
 Number of direct "shadow rays" to sample from area light sources during evaluation of direct illumination.
generator directSampleGenerator
generator generator
 generator to use to generate samples over the film plane
unsigned int diffuseNoGatherPhotons
 Maximum number of diffuse photons to be gathered during KNN for irradiance estimates from the diffuse photon map.
unsigned int causticNoGatherPhotons
 Maximum number of caustic photons to be gathered during KNN for irradiance estimates from the caustic photon map.
ureal_t diffuseGatherRadius
 Maximum KNN search radius during irradiance estimates from the diffuse photon map.
ureal_t causticGatherRadius
 Maximum KNN search radius during irradiance estimates from the caustic photon map.
unsigned int diffuseNoPhotons
 Maximum number of (diffuse photons to shoot from emitters) and (photons to store in the diffuse photon map).
unsigned int causticNoPhotons
 Maximum number of (caustic photons to shoot from emitters) and (photons to store in the caustic photon map).


Detailed Description

Implementation of Henrik Wann Jensen's photon mapping algorithm.

Photon Mapping is a two-pass global illumination algorithm in which photons are first traced from light sources and stored in a global kd-tree called the photon map. Final gathering is then performed by tracing paths from the eye and using photons from the photon map to approximate irradiance at points.

Note:
Photon mapping parameters are generally especially scene-dependent.,Photon mapping treats diffuse and caustic paths separately, so many photonMapper-specific parameters have separate diffuse and caustic versions.,Photon mapping is a consistent estimator of Kajiya's rendering equation, in that its expected value converges to the true value only in the limit as the number of samples -> infinity.,See Jensen's book, "Realistic Image Synthesis Using Photon Mapping" (2001) for further details.

photonMapper corresponds to the underlying Milton class 'PhotonMapper.'


Attribute Documentation

Number of core rendering threads to use during rendering.

Rendering in Milton is highly concurrent and is designed from the ground up to scale well with an increasing number of processors on the underlying machine. Choosing too few threads will drastically affect the performance of Milton by not taking advantage of all available resources. On the other hand, choosing too many threads may bottleneck the system and cause cache / memory thrashing from frequent time sharing between the threads across an insufficient number of available processors. A good rule of thumb is to choose noRenderThreads to be about 2 times the number of available processors. i.e., if you're on a quad-core machine, setting noRenderThreads to 8 or 10 will yield optional usage of the 4 available processors.

typeunsigned integer
optionaltrue
default8

Number of direct "shadow rays" to sample from area light sources during evaluation of direct illumination.

typeunsigned integer
optionaltrue
default1

typegenerator
optionaltrue
defaultjittered

generator to use to generate samples over the film plane

typegenerator
optionaltrue
defaultsuper

Maximum number of diffuse photons to be gathered during KNN for irradiance estimates from the diffuse photon map.

typeunsigned integer
optionaltrue
default500

Maximum number of caustic photons to be gathered during KNN for irradiance estimates from the caustic photon map.

Note:
Because caustics are by their very nature a focusing event, you can generally set causticNoGatherPhotons to be much lower than diffuseNoGatherPhotons without compromising the quality of your render.
typeunsigned integer
optionaltrue
default300

Maximum KNN search radius during irradiance estimates from the diffuse photon map.

Note:
This parameter depends greatly on the scale of your scene.
typepositive real scalar
optionaltrue
default1

Maximum KNN search radius during irradiance estimates from the caustic photon map.

Note:
This parameter depends greatly on the scale of your scene.
typepositive real scalar
optionaltrue
default1

Maximum number of (diffuse photons to shoot from emitters) and (photons to store in the diffuse photon map).

typeunsigned integer
optionaltrue
default60000

Maximum number of (caustic photons to shoot from emitters) and (photons to store in the caustic photon map).

typeunsigned integer
optionaltrue
default60000


Generated on 28 Feb 2009 for MiltonScenefileFormat by doxygen 1.5.6