Wednesday, January 24, 2007

Ray Tracing - Project 1

This is the first project for Dr. Parker's Ray Tracing class.

Design Choices

I chose to do a progressive rendering breaking the image up into frames and sending the frames off to separate threads. I chose random tiles, because I felt they would give a better visualization of how the overall scene is rendering. I also liked the idea of using threads as I hope it will get me a bit of a performance boost later. I wanted a rendering style similar to Modo's renderer. I chose C++ because my last ray tracer was in Java (pictures in previous blogs) and was decently fast, but I wanted to do some fast C++.

This is my viewer as it is being rendered kind of how Modo renders (but not as pretty)


This is my completed image. I noticed on the assignment after I was done coding, that I didn't need to handle the depth of the objects


About this project

Time Required: ~15 hours (but I rewrote it many, many times... once for my laptop having the code on it and being in the shop, another for file corruption, etc...)
Difficulty: Not too bad. Lots of debugging since I wrote most of it without testing it, but I'm hoping later projects will be more incremental
Code: project1.tar