rt 3: Bounding volume hierarchy
2017-03-28We are not supposed to wait an hour for a 30K triangle mesh to render.
Acceleration structures help with that. In our case, we maintain a hierarchy of boxes into which we stuff objects. If a ray does not touch a box, there is no point checking the ray against anything in the box.
This happens to rule out lots of objects, reducing our 2700s horse_instanced.png to 16s with a simple textbook BVH, multithreading enabled.
The dragon model, 870K triangles. This chalkdragon is rendered in 39s. If we extrapolate from horse, this would have taken 13 hours to render.
Killeroo, 92K triangles. Took only 2.6s to render since the viewing frustum is mostly empty.
I think the dragon is nice and deserves a material other than chalk.
Metallic dusty rose, like the old flip phones. took 30s
Rendering times are on a i3-3217U.