This is my final project for MATH 155B. I implemented: Anti-Aliasing, Depth of Field, Adaptive Variance, Soft Shadows, and an accelleration structure
I like to choose test images that have very little color. Notice in this image there is lots of aliasing. The shadows are very sharp. In this image there are 3 light sources.
I implemented Uniform sampling on the subpixel, Jittered light source positions on the uniform sphere, and Uniform Jitter Eye positions for depth of field
This used an accelleration structure from: collision detection library
Took the above collision detection library, and inserted it into the raytrace project. I use the ray-to-bounding box to find the triangle that intersects, and then I rerun the intersection test function inside the ray tracer to set all the needed information.
Using the barycentric coordinates inside ViewableTriangle, I weight the normals at the 3 vertices. I precalculate normals of the smooth model at each vertex