Ray Tracing (CS6620) - Project 4

Kyle Madsen




Source Code

You can find the source code here


Required Image

Here is the required image generated by my raytracer:


Download as png or ppm
Download the scene file

Design

Description:

There was not much to the design to the distribution features. For the glossy metal I took the code from the normal metal material, then tweaked the reflection. For the thinlens camera, I took the pinhole camera then tweaked the direction using the lens parameters. Then for the area light, I simply picked a random point on the area to determine the light position. I had to make a design decision for sampling. I set a default value of 1 for the sample value, then loop for every sample inside my renderScene function. I also added anti-aliasing to the scene when there are more then one samples.

Difficulities:

My difficulty for this assignment was getting the time to work on it. My other classes have been demanding so I would only be able to spend about an hour a time on this project. Which made the whole project take longer then it should have. I was parsing the file wrong so I was doing the right thing and not getting the right images. There has been something like this on every project in this class.

Time Spent:


Creative Image

Bunny

There are a few things going on in this scene. The bunny is looking at itself in the metal mirror. The room is a Lambertian material with different colors. On the ceiling there is an area light. I'm showing where the light is by a box that has an EmissiveMaterial. I added the simple material just for this scene. In the reflection there is also a big sphere that is a glossy metal material. I use a thinlens camera which is focused exactly on the bunny reflection. This gives the effect of a foreground and background relative to the bunny.


Download as png or ppm
Download scene file