Tuesday, January 4, 2011

Is ray tracing a saturated field?

Look back, briefly!
Ray tracing has been studied for decades. As far as I know, since 1968 (Ray Casting: Appel, 1968). The first paper on Recursive ray tracing came in 1980 (by Whitted). Till around 2000 the ray tracing had always been considered to be significantly slower than conventional rasterization techniques. From around 1997, people have started practically believing in making ray-tracing real-time. Since then a lot of efforts have been put to make it real-time, or at least as fast as rasterization if not faster. There used to be an important conference dedicated to research work in ray tracing known as The Symposium on Interactive Ray Tracing. After 2008 it got combined with another graphics hardware related conference into a single bigger conference known as High-Performance Graphics. The work published in HPG and ,of-course, SIGGRAPH and SIGGRAPH Asia will give you more detailed idea of how and where ray-tracing is going.

What makes me think that Ray Tracing still has opportunities?

Ok, think of it in this way. Why is it difficult to replace rasterization by ray-tracing today? lets list out the reasons... First, of-course, is the dominance of rasterization based hardware. Secondly, many problems have been solved/ partially solved for rasterization. At least, *a huge effort* has been put into rasterization, and that has resulted into really impressive techniques/effects.All in all, these are the primary reasons. Now lets see why would ray-tracing be the future of rendering. Lets consider one reason at a time.Hardware, it seems is slowly but clearly moving towards ray-tracing. Many NVIDIA researchers are working on ray-tracing, and the whole CUDA, GPGPU direction plus OptiX, tell us that NVIDIA is realizing the importance of new graphics hardware being able to support high performance ray-tracing. So,things *are*, changing.I don't know what AMD is doing about it, honestly. That is important, too.Second aspect is important. A lot of techniques have already been developed and a lot of research has already been done, assuming rasterization beneath. Back then, the bias towards rasterization was natural and obvious- because ray-tracing was really slow. Really really slow. May be that is why graphics hardware industry also preferred rasterization.But now, we see that ray tracing can be fast, actually, real-time. There maybe one thing to be verified here. As Prof. Subodh said, it may be that the"real-time" performance seen today is not for very complex scenes, or otherwise for some *specific *highly complex scenes.But the point we should focus our attention on, is that relatively lesser effort has been put up in ray tracing, than in rasterization, and most of the effort put in ray-tracing was all directed to eventually get it real time. Now, think about the rest of the effects. They are so many. We see that 2010 SIGGRAPH has motion blur and defocus within ray-tracing. Like this,there may be many more effects for which ray tracing has not been combined with. THIS is the opportunity.Some opportunities may be related to some effects. E.g. motion blur requires dynamic ADT ( acceleration data structure ) , which I really thought useful.

Here are examples of some attempts that were made in this direction:

What does ray-tracing lack? - Opportunities on the horizon
  • Performance : Push FPS more and more ( bandwidth, packet tracing, SIMD )
  • hybridizing RT with rasterization. To get the best of both worlds
  • dynamic data structures and related effects ( motion blur, etc )
  • Indirect illumination effects
  • how would we achieve good Caustics using ray tracing?
  • soft shadows and glossy reflections
  • Depth of Field? deFocus? Anti-aliasing?
  • micro-polygon RT, stochastic/distributed RT, monte carlo RT


  1. http://cs.fit.edu/~wds/classes/adv-graphics/raytrace/raytrace.html

    It's like a good glossary for ray-tracing.

  2. TODO :