shapeSet Element Reference

Groups a set of related shapes together within a common spatial acceleration data structure. More...

Inheritance diagram for shapeSet:

shape

List of all members.

Attributes

string spatialAccel
 Acceleration data structure for accelerating ray-object intersection queries and visibility tests that are prominent in many rendering algorithms.
string kdSplitPlaneType
 Split plane generation method.
string kdSplitAxisType
 Split axis selection method.
unsigned int kdMinPrimitives
 Minimum number of primitives s.t. a leaf cell will automatically be created (below this number, further subdivision either won't help or requires too much memory.
unsigned int kdMaxDepth
 Maximum depth of tree.
unsigned int kdNoThreads
 number of threads to spawn during tree construction
real_t kdCostTraversal
 SAH relative cost of traversal.
real_t kdEmptyBias
 SAH empty cell bias factor.


Detailed Description

Groups a set of related shapes together within a common spatial acceleration data structure.

Any shape defined as a child of this shapeSet will be implicitly added to its acceleration data structure.

Note:
ShapeSets should not contain any emitters since as of writing this, they will not be handled properly by Milton; that is, all emitters must lie within the top-level scene element and not within sub shapeSet elements.

shapeSet corresponds to the underlying Milton class 'ShapeSet.'


Attribute Documentation

Acceleration data structure for accelerating ray-object intersection queries and visibility tests that are prominent in many rendering algorithms.

Available spatialAccel variants include: naive (no acceleration) and kdTree (default)

Note:
spatialAccel corresponds to the underlying Milton class 'SpatialAccel.'

'naive' spatialAccel corresponds to linear traversal through all primitives when calculating the closest positive intersection between a ray and a set of primitives

typestring
optionaltrue
defaultkdTree

Split plane generation method.

Available variants include: splitPlaneMiddle, splitPlaneMedian, and splitPlaneSAH.

Note:
A kd-Tree constructed with splitPlaneMiddle and splitAxisRoundRobin is equivalent to a standard octree, but for ray tracing purposes, the surface area heuristic (splitPlaneSAH, the default) is generally preferred for its ability to concentrate efforts in dense regions of the scene.
typestring
optionaltrue
defaultsplitPlaneSAH

Split axis selection method.

Available variants include: splitAxisRoundRobin and splitAxisLongestExtent

Note:
If splitPlaneSAH is selected, kdSplitAxisType will be ignored, and the split axis at each node will be selected according to the minimum expected SAH cost (with a few optimization-oriented exceptions..)
typestring
optionaltrue
defaultnone

Minimum number of primitives s.t. a leaf cell will automatically be created (below this number, further subdivision either won't help or requires too much memory.

typeunsigned integer
optionaltrue
default3

unsigned int shapeSet::kdMaxDepth

Maximum depth of tree.

typeunsigned integer
optionaltrue
default24

unsigned int shapeSet::kdNoThreads

number of threads to spawn during tree construction

Note:
TODO; currently single-threaded construction
typeunsigned integer
optionaltrue
default1

SAH relative cost of traversal.

typereal scalar
optionaltrue
default1

SAH empty cell bias factor.

typereal scalar
optionaltrue
default0.9


Generated on 28 Feb 2009 for MiltonScenefileFormat by doxygen 1.5.6