accel Directory Reference
Files | |
| file | AABB.cpp [code] |
| file | AABB.h [code] |
| file | AABB.inl [code] |
| file | accel.h [code] |
| Convenience header which includes all public acceleration headers. | |
| file | kdTreeAccel.cpp [code] |
| An N-dimensional kd-Tree is an axis-aligned binary spatial partitioning data structure. Each internal node is split along one of the N principle axes, where the split plane is typically chosen at each node based on some sort of heuristic. This kd-Tree implementation supports several common split plane generation methods, namely: spatial midpoint, median of geometry, and surface area heuristic (SAH). Note that a kd-Tree constructed by choosing the spatial midpoint along the current split axis as the next split plane is equivalent to an Octree. Also note that though the SAH produces the best quality tree overall with respect to visibility tests, it can take a long time to build and is thus mainly suitable for static scenes (whereas other acceleration data structures may be more appropriate for dynamic geometry & animations). The SAH kd-Tree may be tweaked with several parameters. See kdTreeAccelParams for more info. The O(nlog n) SAH construction has been implemented as opposed to the O(n) or O(n^2) alternatives (using std::sort for internal sorting). This choice was made because the O(n) solutions which exist both have large constants (which diminish their utility in practice), and are nowhere near as readable or easy to understand as the relatively straightforward O(nlog n) alternative. | |
| file | kdTreeAccel.h [code] |
| file | NaiveSpatialAccel.cpp [code] |
| Naive/identity spatial acceleration (no acceleration) which runs through all primitives linearly when testing for intersections. | |
| file | NaiveSpatialAccel.h [code] |
| file | SpatialAccel.cpp [code] |
| Generic interface for intersection acceleration data structures used for ray visibility testing and sampling during rendering. | |
| file | SpatialAccel.h [code] |
Generated on 28 Feb 2009 for Milton by
1.5.6