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

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
| string shapeSet::spatialAccel |
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
| type | string |
| optional | true |
| default | kdTree |
| string shapeSet::kdSplitPlaneType |
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.
| type | string |
| optional | true |
| default | splitPlaneSAH |
| string shapeSet::kdSplitAxisType |
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..)
| type | string |
| optional | true |
| default | none |
| unsigned int shapeSet::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.
| type | unsigned integer |
| optional | true |
| default | 3 |
| unsigned int shapeSet::kdMaxDepth |
Maximum depth of tree.
| type | unsigned integer |
| optional | true |
| default | 24 |
| unsigned int shapeSet::kdNoThreads |
number of threads to spawn during tree construction
- Note:
- TODO; currently single-threaded construction
| type | unsigned integer |
| optional | true |
| default | 1 |
| real_t shapeSet::kdCostTraversal |
SAH relative cost of traversal.
| type | real scalar |
| optional | true |
| default | 1 |
| real_t shapeSet::kdEmptyBias |
SAH empty cell bias factor.
| type | real scalar |
| optional | true |
| default | 0.9 |
Generated on 28 Feb 2009 for MiltonScenefileFormat by
1.5.6