Slashdot Mirror


Carmack Speaks On Ray Tracing, Future id Engines

Vigile writes "As a matter of principle, when legendary game programmer John Carmack speaks, the entire industry listens. In a recent interview he comments on a multitude of topics starting with information about Intel, their ray tracing research and upcoming Larrabee GPU. Carmack seems to think that Intel's direction using traditional ray tracing methods is not going to work and instead theorizes that using ray casting to traverse a new data structure he is developing is the best course of action. The 'sparse voxel octree' that Carmack discusses would allow for 'unique geometry down to the equivalent of the texel across everything.' He goes on to discuss other topics like the hardware necessary to efficiently process his new data structure, translation to consoles, multi-GPU PC gaming and even the world of hardware physics."

15 of 256 comments (clear)

  1. There is a great disturbance in the source... by Ferzerp · · Score: 5, Funny

    It as if hundreds of ray tracing fanboys cried out at once, and were silenced.

    1. Re:There is a great disturbance in the source... by AmaDaden · · Score: 5, Interesting

      Ray Tracing has a place. New high speed FPS games are not it.

    2. Re:There is a great disturbance in the source... by luther2.1k · · Score: 5, Informative

      Bog standard ray tracing, which is what intel are harping on about at the moment isn't the be all and end all of global illumination algorithms, as many people who get all misty eyed about the technique would have you believe. It's terrible for diffuse interactions for one thing. Photon mapping is a more realistic technique which simulates light more accurately.

      Tim.

    3. Re:There is a great disturbance in the source... by ultranova · · Score: 5, Informative

      Everything light does is a combination of reflections and refractions (shadows are an artifact of those).

      Except the double-slit experiment. It's based on the fact that light has wavefront qualities, while ray tracing treats it as particles.

      I also strongly doubt that the discreet ray approach will ever produce very good global illumination, since the number of rays bouncing between surfaces quickly grows towards infinite as the desired accuracy grows.

      You'd need to do "wavefront racing" to fix these, and I for one have no idea how to do this - solve the quantum field equations for each particle in the scene after inventing the Grand Unified Theory ?-)

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  2. Re:So, by BigJClark · · Score: 5, Funny


    Don't feel bad, he has probably never heard of you either.

    --

    Hi, I Boris. Hear fix bear, yes?
  3. Re:Stunning! by Bob+of+Dole · · Score: 5, Insightful

    A developer who coded the engines that nearly all PC first person shooters have run on. That's obviously not enough to accept his words without hesitation, but obviously the person knows more about high-performance 3D rendering than a random coder like myself.

  4. Re:Right... by Jerf · · Score: 5, Insightful
    Yeah!

    Plusses:
    • One of the primary fathers of the FPS genre.
    • Wolfenstien 3D
    • Doom
    • Quake 1
    • Quake 2
    • Quake 3
    • Endless articles and commentary on the field
    • A shitload of stuff I'm forgetting
    Minusses:
    • "Thought multiplicative lighting was the way to go, rather than dealing with the performance hit of additive lighting in Quake 3."
    Conclusion: Carmack sucks!

    I mean, seriously, what's your point? The man's not actually a God so we shouldn't listen to him? Is there somebody more experienced I should prefer to listen to? Is "n3tcat" the handle for somebody with thirty years experience in first-person shooter engines or something?
  5. Re:How does it play with Physics? by ghostlibrary · · Score: 5, Insightful

    Having developed octtree voxel methods for astrophysics sims (crashing galaxies into one another), I suggest they are ideal for physics. The idea of a tree is you group things to maintain a certain amount of accuracy. For example, if you have 3 items interacting just with gravity:

    A (longdistancetypedheretoavoidlamenessfilter) B .. C

    A non-tree method would just calculate all the interactions: A-B, A-C, B-C. But you can group B+C together when calculating their interaction with A because, at that distance, the result for (B+C)-A is the same as the result for B-A + C-A. Then the interaction between B & C must be calculated separately. So you've (even in this tiny example) reduced your calculation from 3 to 2.

    And, of course, all the 'voxels' between A & B/C that are empty need not be considered at all. If you'd set it up as an NxNxN voxel cube, you'd be wasting time on calculating empty voxels between the occupied items.

    So if you want realistic interactive environments, sparse voxel octtrees are the way to go-- you pump all the calculation time into the parts where it matters, and let the other stuff be 'smoothed' when such smoothing is indistinguishable from rounding error.

    Typically, you can traverse the tree for a given error percentage, e.g. 'walk the tree and do interactions preserving 99% energy conservation' or similar. So your have predictable error, as well, despite being able to use arbitrary geometries and spacing for your elements.

    --
    A.
  6. Limited graphics by goatpunch · · Score: 5, Funny

    In other news, all games will now consist of reflective spheres moving around on checkerboards...

  7. Re:Stunning! by DragonWriter · · Score: 5, Insightful

    Why not analyse his argument and judge it on it's merits rather then throw it out simply because he is working on an idea of his own?


    Commenting on the fact that it is unsurprising that someone working on a different technique favors that technique over raytracing is not throwing anything out.

    Its not a comment either way on the merits.

    Were I to comment on the merits, I would point out that his position is both fairly obviously correct (in that sparse voxel octrees or something quite like them is almost beyond question the key to raytracing that's useful for reasonable quality in realtime), and entirely incorrect in his characterization of what everyone else is pushing: he pretends that "everyone" is pushing the most naive, brute force approach to raytracing, in which you don't use any kind of bounding volume structure and just do intersection tests against triangles. I've seen literally no recommendations that do that: almost all involve some form of bounding volume heirarchy, and sparse voxel octrees are just one instance of that (perhaps a fairly ideal one, and that's great). (Also, raytracing isn't limited to triangles, although most performance comparisons of raytracing to raster-based rendering methods use models constructed from triangles because it allows you to compare same-model performance of the different mechanisms; raytracing engines, however, don't generally need to decomposed curved objects into triangle-based approximations to render them in the first place, although this can sometimes be more efficient.)

    TFS further misleads by suggesting that Carmack is proposing an alternative to raytracing, when really what he is proposing is a particular approach to raytracing, and, particularly, a particular approach in one well-known problem area in raytracing to which there are currently a whole array of approaches. And his focus on what he wants to get out of raytracing is a little different. But, essentially, his piece, while there are some potentially good criticisms on some particular aspects of and arguments for Intel's specific approach to raytrace, is in accord with (not opposed to) the general idea that raytracing techniques are going to be increasingly important in gaming.

    Is that enough "on the merits" for you?
  8. Re:So, by nschubach · · Score: 5, Informative

    Funny. It's just freaking amazing that someone would even stoop so low as to mention Gabe Newell and not know Carmack. Hell, the original Half-Life is written on the Quake engine written by Carmack.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  9. Re:So, by omeomi · · Score: 5, Insightful

    Now if John Carmack is as legendary as /. is making him out to be, why isn't it John Carmack's Quake/Doom?

    George Washington is pretty legendary, but we don't have a George Washington's America, do we? The name is irrelevant. How could the guy who basically invented the First Person Shooter not be legendary? When it first came out, the original Wolfenstein was the most highly optimized game I'd ever played. I still remember thinking it wouldn't run on my slow-ass computer, and being blown away when it ran fast as can be.

  10. Re:Stunning! by John+Carmack · · Score: 5, Interesting


    Give me a little credit here. I am not suggesting that everyone blindly intersects rays with a huge list of triangles. That would be absurd, and I assumed everyone understood that. What you might have missed is that I'm not proposing a sparse voxel octree as some form of bounding hierarchy to reduce intersection tests against triangles, I am proposing that it REPLACE hierarchies of triangles or other primitives for some data sets, and this brings about significant improvements (data size) that you wouldn't have with even infinitely fast conventional ray tracing. I'm also not trying to say that this is some novel brainstorm of mine, but I have some practical experience with the direction, and I think it has promise.

    One of my major points is that this is all still theoretical. I don't know what is going to be the right architecture for next gen systems. Neither do you, or Intel, Nvidia, Microsoft, Sony, or Nintendo. If I had to place a bet, it is that rasterization will still be dominant, but it is a Good Thing to have lots of people doing research into various alternatives. All the players have their own agendas, but we will all know the big win when we see it.

    John Carmack

  11. Re:Stunning! by Anonymous Coward · · Score: 5, Funny

    RTFA, you didn't understand what the guy who wrote the article was saying.

  12. Re:Stunning! by Fescen9 · · Score: 5, Funny

    Dude, you got pwned by JOHN CARMACK!