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

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
| unsigned int bidirectionalPathTracer::noRenderThreads |
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.
| type | unsigned integer |
| optional | true |
| default | 8 |
| unsigned int bidirectionalPathTracer::noDirectSamples |
Number of direct "shadow rays" to sample from area light sources during evaluation of direct illumination.
| type | unsigned integer |
| optional | true |
| default | 1 |
| type | generator |
| optional | true |
| default | jittered |
Generated on 28 Feb 2009 for MiltonScenefileFormat by
1.5.6