Vuk Radovanovic
In CSE 168, I teamed up with the amazing Joseph Warmus [LinkedIn][Github] to improve the simple ray tracer from last year’s class. We moved from the CPU implementation to Nvidia’s OptiX framework, taking full advantage of its hardware acceleration capabilities. Over the course of the semester, we extended the renderer with advanced functionality, converting it to a full-featured path tracer with Monte Carlo sampling, importance sampling, and support for GGX microfacet materials.
The final project, unlike earlier assignments, had us propose and implement a unique modification to the renderer (which had been built to achieve the same goals as everyone else’s until that point). We chose to implement single-scattering homogeneous and heterogeneous volumetric rendering, which you can read about in full detail on our project’s website.