CS 636 Programming Assignment 1 - Basic ray tracer with spheres and triangle meshes

All of these were at a resolution of 640 pixels wide by 512 high. All scenes used a view plan distance of 10, and a horizontal camera angle of 45 degrees.

Each scene has a central mesh object with a sphere on each side.

The camera location and angle was adjusted slightly for each scene to make it more appealing, starting with an original camera position of 0,0,2 with a view direction of 0,0,-1(negative z) and a view up vector in the positive y direction.

1. Icosahedron and Two Spheres

This looks a bit like Mickey Mouse.
The camera is at (0, 0, 2).
The camera view direction is (0, 0, -1).
The view up direction is (0, 1, 0).

The mesh model is unmodified (no tranlsation or rotation).

Rendering Elapsed time: 14 seconds

2. Small Toroid and Sphere

The camera is at (0.5, 0, 2).
The camera view direction is (-.7, 0, -1).
The view up direction is (0, 1, 0).

The mesh model is unmodified (no tranlsation or rotation).

Rendering Elapsed time: 70 seconds

3. Utah Teapot and Two Spheres

The camera is slightly elevated and looking downward. The spheres are moved further out on X axis to make space for teapot. The camera position is also moved farther back (positive Z direction) to account for the larger size of the scene.

The mesh model is unmodified (no tranlsation or rotation).
The camera is at (0, 2, 3).
The camera view direction is Vector3(0,-0.3, -1).
The view up direction is (0, 1, 0).

Rendering Elapsed time: 3309 seconds