Sunday, August 10, 2008

Interactive Raytracing

I wrote my first ray tracer about 9 years ago. In the 7 years that followed, I spent many evenings and weekends writing a couple more ray tracers. They all had one thing in common, they were slow, very slow. Fortunately, ray tracing is an embarrassingly parallel algorithm so we got around its speed problems by distributing the rendering over clusters of machines.

This has been changing the last few years. With a combination of clever data structures, SIMD parallelism and multi-core processors, ray tracing is now possible on a consumer desktop computer at interactive (> 6 frames/sec) rates. In fact researchers at Intel have demonstrated a ray tracer running at 60 frames/sec on an 8-core machine. Now I won't get into the rasterization vs. ray tracing debate, I'll just say that both approaches have their strengths and weaknesses. However ray tracing allows the simulation of all kinds of interesting light effects in a simple way so this new found speed is pretty exciting.

Last year when I moved to a research group at Adobe, I was given the opportunity to work on an interactive ray tracer. Needless to say, it didn't take much convincing me for me to jump into the project; after all I was going to get paid to do something I'd spent years of free time doing for fun.

This weekend was the 3rd annual IEEE Symposium on Interactive Ray Tracing, a two day conference dedicated to help researchers share algorithms to make ray tracing fast. This was my first time attending this conference and I really enjoyed it. The interactive ray tracing community is fairly small (about 150 people were at the conference) but its growing rapidly. The papers were all of decent quality and many had ideas and algorithms with immediate applicability. I really enjoyed the conference and am looking forward to it next year.

IRT 2008 was held in Los Angeles the weekend before SIGGRAPH. Its been many years since I attended SIGGRAPH (2003 was the last time) and have mostly been attending smaller, more academically focused conferences. Walking around the empty LA convention center and watching the crews set up the massive rooms reminded me of just how huge the SIGGRAPH audience is. The picture above is a panorama of the registration hall for SIGGRAPH; some people have already arrived and have started registering. I'm sure the place will become a zoo starting tomorrow.

1 comment:

Michael said...

Awesome. The first realtime raytracing attempt I saw was the "Transgression 2" demo by MFX in 1996. (It's on YouTube or you can download it and run it on DOSBox if you want to check it out.) The resolution was terrible and the objects were incredibly boring, but it still sparked my imagination and ever since then I've been wondering when realtime raytracing would become mainstream.