CS 488 Ray Tracer Project
Objective 1: New Primitives
I added two new primitives: cylinders and cones.
Objective 2: Constructive Solid Geometry (CSG)
First row: difference
Second row: union and two differences on the same primitive
Third row: intersection
Objective 3: Texture Mapping
Objective 4: Refraction
Objective 5: Soft Shadows
Objective 6: Reflection
Objective 7: Perlin Noise
Objective 8: Depth of Field
Objective 9: Uniform Spatial Subdivision
Results for 8 threads and 4096 voxels (on the macho cows scene):
|With no optimizations||No subdivision, with bounding boxes||With subdivision, with bounding boxes|
We can see that subdivision provides roughly a 40% increase in speed.
Objective 10: Final Scene
Bonus Feature: Multithreaded Rendering
n is the number of threads (Tests performed on a quad-core early 2013 Macbook Pro)
We can see that the effective real time decreases as we increase threads, with no significant gain around 16 threads.