Brief Description
This project's objective was to create a raytrace for CSC 473 that includes MonteCarlo indirect lighting and Motion Blur.
The project based c++ and supports crossplatform.
Technologies
MonteCarlo Indirect Illumination - one bounce, variable sample rate
Direct Illumination, Reflection and Refraction
Motion Blur - stratified sampling using anti-alias sampling
Povray parsing
Mesh File parsing (*.m)
Addition of velocity vector in povray for motion blur
Addition of mesh object to the povray file structure
Bounding Volume Heirarchiy (BVH)
Variable Anti-Aliasing
TGA and BMP output file support
Runtimes
Bunny_jumbo_tris.pov using BVH - 5.74s (< 6 seconds)
Bunny_jumbo_tris.pov without BVH - (60+ minutes)
That is over a 600X speedup!
Results
MonteCarlo
Tyra with direct lighting
Tyra with indirect lighting (MonteCarlo)
Mock Cornell Box with MonteCarlo
Motion Blur
Cessna with no blur
Cessna with a little blur
Cessna with more blur
A loop of planes
BVH
Planes BVH view
Tyra BVH view
References
Monte Carlo Ray Tracing
Ray - Box Intersection
Povray Format
Advanced Ray Tracing