Time for finals!

Well, I finished my ray tracer. By which I mean today is the due date. It turned out pretty well I think, but I won't know for sure until tomorrow. I created a series of web pages for the presentation and they are posted on this site. I've added a link to my menu above, or you can click here. Be sure to check out the movie in addition to all the images, and, if you are so inclined, the documentation gives a fairly thorough technical description of a lot of the stuff.
Here is my final scene, I'm pretty happy with the modelling of it, but I never got the lighting quite right. There are area lights in each of the lamps over the pictures, but they illuminate too much of the scene. There is also another area light located on the ceiling. The rendering of this image took a very very long time.
So I think bump mapping is working, which means that I just have to create a unique scene, do a ton of documentation and create a presentation for the whole mess. Otherwise I'm mostly done my project! Sweet!
I did soft shadows and planar light sources today. The following image has a square light source (represented by the plane at the top of the image) and uses 25 shadow rays per intersection point to determine shading.
I finished off my noise-based solid textures, they turned out pretty well. Here are some samples. The first is just noise, the second is wood grain and the third is marble.
I've been working on texturing my primitives lately and have succeeded in completing bitmap texturing and simple solid texturing. I still have to create "interesting" solid textures using Perlin noise; hopefully that will work out.
Here are some sample images, first of bitmap texture mapping, then of a simple solid texture:
Reflection and refraction are working properly now. Refraction took a lot longer than reflection to get right (since reflection only took 10 minutes). I had to adjust some colour stuff so the earlier reflection image I posted is only mostly correct. Here are two sample images demonstrating reflection and refraction:
I did another objective today, reflection. It was pretty easy, here is a sample image:
It's been a while since my last ray tracer posting, so last night I stayed up until 2am creating scenes for new images. They arn't just for my website, they will also be used to demonstrate my new features to the prof and TAs.
I have added extra primitives (plane, cylinder, asymmetric cylinder -- different radius at top and bottom, cone, and torus) and I have implemented the constructive solid geometry operations union, intersection and difference. This means that I can take my base primitives and put them together in interesting ways. Like take part of a cube out of a sphere to get a hemisphere. These two objectives greatly extend the modeling capabilities of my ray tracer.
Here are the sample images showing the new features:
Another month, another ice cream cake. This time we got some writing on it, mainly to get some more sweet sweet gel icing. We also decided that something normal would be too...normal. So here we have the first gay-marriage friendly ice cream cake from Dairy Queen: