Next-Gen 3D Rendering Technology: Voxel Ray Casting

Introduction

After our coverage of ray tracing a little while back, let’s continue our overview of the rendering techniques that could replace, or at the very least, complement triangle rasterization as we know it today.

As those who read our previous article already know, we aren’t really convinced of the viability of ray tracing in real time (Ed.: this would seem to be backed up by Intel's recent demonstration of Larrabee ray tracing Enemy Territory at mediocre frame rates). That opinion would also seem to be held by most developers of video games, including one of the celebrities of the gaming world, John Carmack. Here’s what he told our colleagues at PC Perspective:

“I think that ray tracing in the classical sense, of analytically intersecting rays with conventionally defined geometry, whether they be triangle meshes or higher order primitives, I’m not really bullish on that taking over for primary rendering tasks, which is essentially what Intel is pushing. There are large advantages to rasterization from a performance standpoint and many of the things that they argue as far as using efficient culling technologies to be able to avoid referencing a lot of geometry, those are really bogus arguments because you could do similar things with occlusion queries and conditional renders with rasterization. Head to head rasterization is just a vastly more efficient use of whatever transistors you have available.”

If John Carmack doesn’t seem all that excited about ray tracing, it’s not because he’s unusually conservative and wants to see triangle rasterization remain the unchallenged rendering technique. As reported here a year ago, John Carmack has his own idea of the future of real-time rendering, and it involves voxel ray casting. Since then, we’ve seen Jon Olick’s presentation at SIGGRAPH, and many details have been leaked. So it’s time to take a closer look at what id Software has in store for us.

  • DjEaZy
    ... the 'matrix' is near... by this rate of progress...
    Reply
  • doomtomb
    This stuff is pretty interesting but a little over my head. The only thing I really care about is when we will start seeing this in our games.
    Reply
  • curnel_D
    This technology sounds a TON more promising than Ray tracing.
    Reply
  • the_krasno
    This is awesome, the people that can really gain something here are amateur filmmakers that can't afford the giant rendering farms big studios have! :)
    Reply
  • the_krasno
    the_krasnoThis is awesome, the people that can really gain something here are amateur filmmakers that can't afford the giant rendering farms big studios have!I meant independent, not amateur. Sorry.
    Reply
  • personally i like raytracing, except for the performance issues. if you've ever tried doing a little 3d rendering, ray tracing is very good, makes things look very real if done properly. again i know it is slow
    Reply
  • liquidsnake718
    Very interesting stuff, I do understand how limiting cubes or voxels can be limited in terms of depth and height(same height per distance) as polygons have that advantage where the triangle gives us just that, an angle that can be measured in terms of height and distanve. We have a vanishing point with a triangle as well.....

    Iwonder if they can impliment both polygons and advanced cubes with different sizes for the initial layers creating a more fluid and complexed scenario or landscape........
    Reply
  • JonathanDeane
    Interesting but voxels will have some extreme performance and space constraint hurdles to overcome before they become the main rendering of any game. I just downloaded a small demo http://www.advsys.net/ken/voxlap/voxlap03.htm its a little over 500K for the whole works but after you hit the genall batch file (it speeds up loading) the thing occupies about 120MB's of space for this simple game. Something like Quake 3 would have been a multi DVD file...
    Reply
  • mlopinto2k1
    Pretty cool stuff.
    Reply
  • amdfangirl
    Better put off upgrading my computer... again :P
    Reply