Project 6

Space Partitioning

Ray Traced Views

Ray tracer MK6. We've now incorporated a bounding volume hierarchy for each object, which we then use to cut down the total number of ray triangle intersections.

To push the BVH to its limits, I found this 122MB (1,536,083 triangle) Audi R8. (so much want...gah...)

With the BVH, total render time is 46 seconds. I'd tell you what the render time is without a BVH, but I think I'd rather watch paint dry.

Decided to try rendering klein bottles. This is what you get for trying to render non-orientable surfaces...

The Z Buffer looks pretty sweet though.

Render time was 14 seconds.

Here's the same coke bottle scene from the last project. Fixed some shadow bugs, and a levitating cup! (oOo. spoOky.)

Previous render time: 3 hours, 36 minutes, and 28 seconds.

Current render time: 14 seconds. (That's just over .1% of the original time)

Finally, here's the original cornell scene with the teapots.

Previous render time: 35 seconds

Current time: less than 1 second

Bugs

I had a triangle ray intersection bug. One of the epsilons I was using to filter out negative triangle intersections was too loose, giving me false negatives.

I made the epsilon smaller, which seems to have fixed the problem.

Render time: 13 seconds.

Hardware

Intel HD Graphics 620, Intel Core i7 - 7500U CPU @ 2.7GHz, 16GB of memory