In my second ray tracing assignment, I have done some performance improvements (reduced the amount of memory used by using pointers, and defined thread count as a macro and also incremented it to 8, the core count of my CPU) and also implemented the following capabilities to my ray tracer:
- Bounding Volume Hierarcy (BVH)
- Multisample Anti-Aliasing (MSAA)
- Transparency (Reflection + Refraction)
In this part of my adventures on tracing rays, I will write about how I implemented those capabilities, what difficulties I had experienced, and how I solved them.