Wednesday, 17 February 2010

Realtime raytracing on GPU

Further to my comments on my new year's resolution, I also vowed to stay clear of any effect that uses "realtime raytracing" on the GPU.

It was a very tempting thought: over the past year I have been writing raytracers for viewing medical data for my company Ambivu. Have a look at some youtube videos here.

However, beyond visualizing big datasets, I don't see how realtime raytracing can help us with our new demo. I understand that it is useful for very small demos (4ks, even some 64ks) where you want to visualize a simple, or less than simple volume function in order to make, for example, a tunnel effect. For that use, it is ideal. For anything else, I honestly don't understand the point of using raytracing in place of triangles. Yes, you get proper reflections and shadows for free, but you can fake all that much more efficiently with the 3D graphics pipeline.

I have seen "demos" of real-time raytracing from commercial companies and I wasn't convinced it is the future yet. A mirror-like car in a plastic environment (running at barely interactive framerates) just doesn't convince me otherwise. Maybe you, reader, have a different opinion.

4 comments:

  1. Let's see if comments work...uhmm, yes :D

    ReplyDelete
  2. (white on black background is unreadable, btw :D)

    ReplyDelete
  3. I'll tell you where raytracing is practical: where it's slower or much harder to make the surface you are tracing exist as polys.
    e.g some fx with level sets evaluated on gpu - the additional tesselation step would be slower than just tracing it.

    ReplyDelete
  4. i work in real-time ray-tracing. I would like to know more about the problem you are trying to solve and it will be nice if we can find a solution.

    ReplyDelete