Home GitHub LinkedIn Resume

Path Tracer

This C++ path tracer was a solo school project I completed in 2021.

Here is a list of it's main features:

* Sphere, plane and triangle primitives
* Everything is build using a custom math library
* BVH (Bounding Volume Hierarchy) acceleration structure, building and traversal
* Point lights with Next Event Estimation
* HDRI support
* Custom model loading using tinyobjloader
* Simple multi-threading

What I learned

Having to develop my own math library pushed me to delve deeply into linear algebra concepts such as matrix multiplication. Additionally, I gained significant knowledge about light transport and its simulation within a path tracer. Exploring acceleration structures and understanding how to construct and traverse them was another valuable aspect of this learning experience. This also taught me how to implement sorting algorithms because BVH construction is essentially quicksort. But the most significant thing I learned was understanding the importance of cache coherence and alignment for performance.


Contact

Click the email address to send a message. I look forward to hearing from you.

ilangeerligs.00@gmail.com