Stephen Depooter's CS488 Final Project

Currently one of my objectives does not work. Spatial Subdivision has a number of bugs that prevent it from being used.

Cones and Cylinders

Cones and Cylinders are supported primitives.

Anti Aliasing

Anti aliasing is supported with jittered super sampling.

Not anti aliased. This image is taken from A4 since I always jitter now, even when super sampling is disabled.

2x2 super sampling:

4x4 super sampling:

6x6 super sampling:

Texture Mapping

Primitives can be texture mapped. I disallow texture mapping Meshes since I do not support vertex texture coordinates.

Area Lighting / Soft Shadows

Lights can be modified to have a radius and thus cast soft shadows.

This image shows both one area light and one point light.

And the same image again with a smaller light.

Glossy Reflections

These pairs of images compare a perfect reflection with a glossy reflection.

This image was one of my first glossy reflection test images which I rendered in high quality since I liked it.

Compared to the non-glossy version:

Refraction and Translucent Refraction

Objects can be set to be transparent and cause refractions.

They can also be translucent. This image shows the rod passing through the sphere and cylinder.

Depth of Field

Depth of field is specified with some command line parameters. Here we show an image with and without depth of field enabled.

Motion Blur

I can model 2 kinds of motion blur. An object moving in a straight line, and on object rolling. Rolling is modelled as if the object were in a sphere of a specified radius. As a result, only spheres really roll properly in arbitrary directions.

Final Scene

My final scene demonstrates a number of my objectives. I decided in the end to include a glass table which is translucent and glossy reflective. The objects under the table serve to demonstrate the translucent refraction. Most of the objects are texture mapped. As well, the lights are both area lights. The one on the right is significantly smaller, and thus has sharper shadows. Finally, 2 of the balls are rolling.

Animation

I also rendered and encoded a short animation based on the motion blur images.