rayTracer Element Reference

Classic Whitted-style recursive raytracer. More...

Inheritance diagram for rayTracer:

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
spectrum ambient
 Ambient illumination spectrum to be used as an approximation to indirect illumination which is not handled by rayCaster.
unsigned int noIndirectSamples
 Number of secondary samples to generate at an intersection point to approximate indirect illumination.
unsigned int maxDepth
 Maximum recursion depth.


Detailed Description

Classic Whitted-style recursive raytracer.

Note:
For a concise introduction to raytracing, see http://www.raytracing.co.uk/study/ray_intro.htm

rayTracer corresponds to the underlying Milton class 'WhittedRayTracer.'


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

Ambient illumination spectrum to be used as an approximation to indirect illumination which is not handled by rayCaster.

typespectrum
optionaltrue
default0.1 W/m^2sr

Number of secondary samples to generate at an intersection point to approximate indirect illumination.

Note:
The number of rays generated during Whitted-style raytracing grows exponentially with depth, so it's generallly a good idea to keep noIndirectSamples very small (1 or 2).
typeunsigned integer
optionaltrue
default1

unsigned int rayTracer::maxDepth

Maximum recursion depth.

Note:
Whitted-style raytracing is biased as an estimator of the rendering equation precisely because it is a finite estimator of an infinite series.
typeunsigned integer
optionaltrue
default5


Generated on 28 Feb 2009 for MiltonScenefileFormat by doxygen 1.5.6