#include <accels/BVH.h>
Inheritance diagram for BVH:

Public Member Functions | |
| BVH (Surface **surfaces, int num_surfaces, int axis=0) | |
| BVH (Surface *prim1, Surface *prim2, const BBox &_bbox, int axis=0) | |
| BVH (Surface *prim1, Surface *prim2, int axis=0) | |
| bool | hit (Ray &r, HitRecord &rec, Context &context) const |
| bool | shadowHit (Ray &r, Context &context) const |
| BBox | boundingBox (double time0, double time1) const |
| bool | overlapsBox (const BBox &box) const |
Static Public Member Functions | |
| static Surface * | buildBranch (Surface **surfaces, int num_surfaces, int axis=0) |
The BVH is built using slightly modified code from Realistic Ray Tracing, 2nd Edition. A variety of traversals are available by changing the defines at the top of BVH.cc. The ordered traversal seems to perform the best on all inputs.
|
||||||||||||||||
|
Intersect given ray with the surface.
Implements Surface. |
|
||||||||||||
|
Intersect without visibility ordering or shading geometry.
Reimplemented from Surface. |
|
||||||||||||
|
Calculate the bounding box of the surface.
Implements Surface. |
|
|
Determine if this surface overlaps the input axis aligned box.
Implements Surface. |
1.4.3