Saturday, May 2, 2009

RenderRan - Who, Why and How

Who?

My name is Rudy and I'm a professional Technical Director working on the film industry. Over the last five years I have been lucky to work at several awesome places and on different fields such as lighting, particle effects, simulations, pipeline and shader development. Of all these areas of work shading has always been my favorite. There is something innately beautiful about the process of taking a bunch of lines of code and have the renderer return something that looks like glass, skin, marble, fire.. etc.

Why?

After many years of working in the industry and always being fascinated with the rendering process of computer generated imagery (CGI), I finally decided to take on a project that has been lingering on the back of my mind, Writing a Rendering Engine.

Why is it called "RenderRan". Well, every year (almost every year to be more precise) I attend the RenderMan users group meeting during Siggraph. At these meetings the folks from the Pixar RenderMan Team always hand out limited edition walking teapots. Eventually I had about 4 or 5 of them and my daughter decided that these collector items where awesome toys for a 3 year old. Since I knew my teapots where facing extermination I figured I should at least use the opportunity to teach my daughter a little bit of what his geek father does for a living. So I showed her the teapot and asked her "You know what this is? Its a RenderMan Walking Teapot". She stared at me for about 5 seconds and said "RenderRAN?". So, all the teapots as well as every hat or t-shirt with the RenderMan icon became "RenderRans".

How

I'm writing RenderRan in C++. Using the open source QT libraries to handle framebuffer display and simple image handling.
I'm using the book Raytracing from the Ground Up as reference.
The source code of the renderer can be found at http://code.google.com/p/rcraytracer