Thursday, May 15, 2008

Computer Graphics II Projects

During my last year as a software engineering undergrad I took a graduate-level course in advanced computer graphics using OpenGL. Each student was required to implement a ray tracer from scratch in order to render a scene similar to Turner Whitted's classic example of transmissive and reflective spheres. A record of my progress is posted on the LiveJournal (tag: raytracer) I kept for the class. The image to the right was the final product.

My personal research project during the class was to implement a particle system from scratch to animate realistic looking fire. I applied a texture map to each particle to give it shape and definition detail. Also, the texture map was necessary to provide the alpha channel used for alpha blending. Various system parameters can be modified in real time to give the particle system the appearance of a lava lamp or even multi-colored fireworks.



The project details are posted on my LiveJournal (tag: openfire). I named the project OpenFire because the source code is available free of charge to the open source community. If modified, all I ask is that I be credited in the source code comments.

Resources:

I also dabbled in a little bit of Pixar's Renderman technology. There was a student competition to see who could create the most interesting image. I won second place for my abstract rendition of a woman's head and brain! Check it out on my LiveJournal (tag: renderman).