duck2.lt who? rt

rt 3: Bounding volume hierarchy

2017-03-28

We 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.

dragon

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

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.

dragon_rose

Metallic dusty rose, like the old flip phones. took 30s

Rendering times are on a i3-3217U.