Academic Project: A Path Tracing Render System
C++
This is a Monte-Carlo rendering system that supports global illumination, interpolating parameters, texture mapping, bounding volume hierarchy accelerating, and depth of field effected rendering, etc..
I independently accomplished it under the guidance of Prof. Pradeep Sen.
The main workflow of the program is as follows:
Implement a basic Whitted-style ray tracer.
Improved it to support interpolating parameters, texture mapping, shaders.
Accelerate the rendering of complex scenes by optimize the sphere and triangle intersection routines and add acceleration data structures.
Improve it to support Monte-Carlo integration (pixel antialiasing by integrating with a box filter over the pixel footprint and depth of field by integrating over the aperture of the camera).
Add path tracing to support global illumination.
Depth-of-field effect rendering
Global Illumination
Final thesis
Also, I added a basic volumetic scattering effect estimater in this path tracer and wrote a final paper in SIGGRAPH tamplate which discussed principles of volumetic rendering and path tracing.