bidirectionalPathTracer Element Reference

Unbiased bidirectional path tracer with support for efficient direct illumination. More...

Inheritance diagram for bidirectionalPathTracer:

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


Detailed Description

Unbiased bidirectional path tracer with support for efficient direct illumination.

Bidirectional path tracing is a fairly complex, unbiased estimator Kajiya's rendering equation, which averages the contributions from a large number of "familes" of random walks (paths) between light sources and the camera. Bidirectional path tracing makes use of multiple importance sampling to combine paths of different lengths generated by combining paths starting from light sources and the camera. Certain paths end up being more important to the resulting image that our camera or eye sees, and for the most part, path tracing does a poor job of concentrating effort on these important paths. The path tracing implementation in Milton optionally allows for efficient evaluation of direct illumination (visually the most important paths contributing to the final image).

Note:
The bidirectional path tracing implementation in Milton closely follows that of Veach & Guibas (1997).

bidirectionalPathTracer corresponds to the underlying Milton class 'BidirectionalPathTracer.'


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

generator to use to generate samples over the film plane

typegenerator
optionaltrue
defaultsuper


Generated on 28 Feb 2009 for MiltonScenefileFormat by doxygen 1.5.6