Kyle Conroy Gray

CS184 C++ Raytracer

We were tasked with creating a raytracer. Images are followed by the command line which produced them, as well as the scene file describing the setup. All times were calculated using the linux time program. All images on this page were output using my raytracer.

Three spheres and a Triangle

reflection

Command: ./raytrace scenes/spherestri.scene
Time: 6.030s
Features: Reflections, Shadows, Phong Shading, Antialiasing
Comments: This photo was inspired by the Raytracing Implementation Journal. It shows off shadows quite well
Scene File spherestri.scene

Five spheres with Reflection

reflection

Command: ./raytrace scenes/reflections.scene
Time: 7.714s
Features: Reflections, Shadows, Phong Shading, Antialiasing
Comments: This photo was inspired by the Raytracing Implementation Journal
Scene File reflections.scene

Three Ellipsoids

reflection

Command: ./raytrace scenes/mirrors.scene
Time: 32.797s
Features: Linear Transformations, Reflections, Shadows
Comments:
Scene File mirrors.scene

Five Ellipsoids

reflection

Command: ./raytrace scenes/elipse.scene
Time: 11.506s
Features: Linear Transformations, Reflections, Shadows
Comments: This photo was inspired by the Raytracing Implementation Journal
Scene File elipse.scene

Antialiasing

Resolution Time Image
1 0.354s reflection
2 1.067s reflection
3 2.305s reflection
4 4.008s reflection
5 6.093s reflection
Command: ./raytrace scenes/antialias.scene
Features: Antialiasing
Comments: The number of rays sent out per pixel is the resolution value squared. As we can see in the first image, we apply a small amount of jitter to each ray, whih further reduces aliasing.
Scene File antialias.scene

Rendering .obj

reflection

Time: 5m45.038s
Command: ./raytrace scenes/teapot.scene
Features: Loading and rendering .obj files
Comments: My .obj parser does not support vector normals
Scene File teapot.scene

Angel

reflection

Time: 66m38.493s
Command: ./raytrace scenes/angel.scene
Comments: Rendering this file is pretty slow without acceleration structures
Scene File angel.scene