class Hitable::SAHBVHNode
- Hitable::SAHBVHNode
- Hitable::BVHNode
- BoundedHitable
- Hitable
- Reference
- Object
Overview
A special kind of BVH, trying to minimize the overlap of the left and right bounding boxes. Construction takes longer but the resulting BVH is (probably) faster
Defined in:
hitables/sah_bvh.crConstant Summary
-
BUCKETS =
12
Constructors
Instance methods inherited from class Hitable::BVHNode
benchmark
benchmark,
bounding_box : AABB
bounding_box,
hit(ray)
hit,
left : BoundedHitable
left,
right : BoundedHitable
right
Constructor methods inherited from class Hitable::BVHNode
new(list : Array(BoundedHitable))
new
Instance methods inherited from class BoundedHitable
bounding_box : AABB
bounding_box,
bounding_box=(bounding_box : AABB)
bounding_box=
Constructor methods inherited from class BoundedHitable
new
new
Instance methods inherited from class Hitable
area : Float64
area,
area_light : Light?
area_light,
area_light=(area_light : Light?)
area_light=,
hit(ray : Ray) : HitRecord?
hit,
pdf(point : Point, wi : Vector) : Float64pdf(point : Point) : Float64 pdf, rotate(axis : Vector, degrees : Float64) : Hitable rotate, rotate_x(degrees : Float64) : Hitable rotate_x, rotate_y(degrees : Float64) : Hitable rotate_y, rotate_z(degrees : Float64) : Hitable rotate_z, sample(origin) : ::Tuple(Point, Normal)
sample : ::Tuple(Point, Normal) sample, scale(size : Float64) : Hitable scale, translate(offset : Vector) : Hitable translate