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.







