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."

256 comments

  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 Brian+Gordon · · Score: 2, Informative

      It's the most realistic possible way of rendering, so when computers get fast enough we'll be able to everything with ray tracing. But effects past simple polygon rendering and water refraction are extremely difficult in ray-tracing.. not necessarily to program, but to simulate in real-time.

    3. 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.

    4. Re:There is a great disturbance in the source... by Brian+Gordon · · Score: 1, Insightful

      Ray tracing is the most realistic possible method for rendering. You can "trace rays" in different ways though; photon mapping is just one technique involved.

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

      It's the most realistic possible way of rendering It only provides realistic rendering of reflections, refractions, and shadows. There are still many more properties of light that take different, also intensive algorithms reproduce like; color bleeding, caustics, sub-surface scattering, depth of field.

      I'm sure there's some market for these things, but there's so much more involved even after these algorithms are implemented. Now you have to add settings (or additional texture maps), for each object (or light). As soon add something with live reflections, you can't even throw away what's not on screen (or facing away from camera). So your memory requirements jump just because of that. There's many things that have to come in to place for these technologies are adopted widely. A lot of these algorithms have been around for over 25 years already and are just seeing wide adoption in feature films (most would be surprised at how much is faked, even today).

      I hope there's a class of games that don't use these things or take 1 or 2 of these things and use them in innovative ways. While I like the WW2 (or futuristic) FPS games, I feel all that dev time is better spent on innovative game play.

      Sorry that the brief reply I planned turned in to a rant.
    6. Re:There is a great disturbance in the source... by Goaway · · Score: 4, Informative

      "Ray tracing" traditionally means specifically tracing rays from the eye out into the scene. Other methods are usually referred to by different names.

      And even so, while tracing either photons or eye rays may be the most feasible method at the moment, it is by no mean the only way to solve the rendering equation, nor any kind of theoretical best.

    7. Re:There is a great disturbance in the source... by KDR_11k · · Score: 3, Insightful

      I feel all that dev time is better spent on innovative game play.

      Innovation does not require much dev time, it requires one bright mind to come up with a good idea and many managers that won't mind spending money on an unproven concept.

      --
      Justice is the sheep getting arrested while an impartial judge declares the vote void.
    8. Re:There is a great disturbance in the source... by flyingsquid · · Score: 4, Funny
      It's the most realistic possible way of rendering, so when computers get fast enough we'll be able to everything with ray tracing.

      When that happens, will it also become possible to wield a flashlight and a shotgun at the same time? Or is there some kind of fundamental law against that, like how you can't know the position and velocity of a particle at the same time?

    9. Re:There is a great disturbance in the source... by Anonymous Coward · · Score: 0

      Well, yes. And even the Anonymous Coward understands that it's more expensive to trace rays from the light sources to the eye, rather than from the eye.

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

      I don't think you're entirely correct - ray tracing, or tracing rays and bouncing them around a scene to see what they hit is used in most rendering algorithms somewhere or other. Hell, even rasterization uses a kind of ray tracing in environment mapping: you cast a ray from the eye to the pixel being rasterized and then reflect that in to look up into a precomputed environment map. And of course, we trace rays all the time for collision detection and various other tasks.
          However, straight ray tracing will give you sharp shadows and won't simulate diffuse interactions correctly unless you start casting many bundles of rays around; and that starts to get very slow very quickly. Yes, photon mapping has the use of rays and intersection tests in common with vanilla ray tracing but it goes a lot further in trying to simulate how light works.
          Anyway, the results we get now with shadow mapping, per pixel lighting and clever use of environment maps give us results pretty much indistinguishable from raytracing for a fraction of the cost: with cycles left over to have a stab at some sort of ambient occlusion and colour bleeding to simulate radiance transfer and soft shadows. Really, with the techniques we're using in realtime graphics now, the only thing I see traditional ray tracing being any good for is reflections and even then we could just be clever about doing real-time generation of environment maps in the right places and get a result that virtually identical.

    11. Re:There is a great disturbance in the source... by DragonWriter · · Score: 4, Interesting

      It only provides realistic rendering of reflections, refractions, and shadows.


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

      So, yeah, what you are in effect saying is that raytracing only provides realistic rendering of things that light actually does.

      There are still many more properties of light that take different, also intensive algorithms reproduce like; color bleeding, caustics, sub-surface scattering, depth of field.


      Color bleeding and caustics are effects of reflection, subsurface scattering is reflection and refraction, depth of field is refraction (through a lens between the viewpoint and the image). Now, its true, that there are shortcuts that provide tolerable approximations of those effects faster than actually tracing rays in most cases, and that even static raytracers often prefer those to what would be necessary to do those effects through raytracing alone. Its also true that some real effects, to do well with raytracing, would require shooting separate rays for different wavelengths of light, which while conceptually possible (and I think some very specialized systems have been made which do this), is probably utterly impractical for realtime systems for the forseeable future (this is a lot bigger load increase than anti-aliasing would be.)

      But as for realism (but not necessarily practicality, especially in a realtime setting), I think raytracing still, ultimately, wins on all of those.

    12. Re:There is a great disturbance in the source... by Zeussy · · Score: 1

      The other thing carmack was rambling on about was a Voxel based system. If you havnt seen this already its worth a quick peak Voxlap Cave Demo I havn't RTA but from the summary it sounds like he is making a system similar to this but using an octree to allow for LoD.

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

      It's the most realistic possible way of rendering,

      No. For starters, the rays are "sparse", that is, there is space between two parallel rays which goes unexplored; furthermore, each beam either hits or doesn't hit any given object, leading to aliasing (jagged edges). A much better solution would be racing a cone from each pixel, with no space between them; however, the mathemathics of calulating reflections when the cone hits something would be horrible.

      Another problem is with global illumination. Normally, when the ray hits something, you send a ray towards each light source to figure out how that light source illuminates this place. However, any surface which is illuminated acts as a light source as well; in theory, you'd need to send a ray out to each point of each surface in the scene, and from those point again to each surface and so on ad infinitum to get it completely right.

      The third problem is caused by the trace being done in inverse; that is, instead of tracing rays of lights from the light source to the eye, you trace rays from the eye to the source. This is neccessary, because each source in theory emits an infinite number of beams, so tracing them all would take an infinite amount of computer power. However, since light takes the same path either way, you can invert the trace and only trace those beams which actually hit the eye of the observer, usually simplified to be one per pixel.

      So what's the problem ? Well, suppose there's a mirror near the light source, which reflects light to an are on a surface, on top of the surface already getting light directly from the source. This are will naturally be brighter than the rest of the surface, because it is receiving more light. However, when calculating the brightness with an inverted trace, you trace a ray to a spot on the surface, and then from the surface to the light source(s). There is no way to know that a mirror which is far from the path of the ray should also affect the brightness of the surface. Thus the spot which should be brighter isn't. Other variations of this problem include prisms and such rainbow-generating devices, for the same reason.

      There are solutions to all these problems: for example, POV-Ray can trace multiple rays per pixel to anti-alias the image and use forward ray tracing to try to calculate the global illumination and lens- and mirror effects. However, these are ultimately kludges to cover for the weaknesses of the core ray tracing algorithm. This, in turn strongly suggests that ray tracing is not the ultimate rendering method as far as realism goes.

      --

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

    14. Re:There is a great disturbance in the source... by thrillseeker · · Score: 2, Insightful

      and many managers that won't mind spending money on an unproven concept.

      as long as it's got a skateboarding turtle it's sure to be a winner.

    15. 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.

    16. Re:There is a great disturbance in the source... by Actually,+I+do+RTFA · · Score: 2, Insightful

      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

      Oh, maybe I better get cracking on the GUT.

      --
      Your ad here. Ask me how!
    17. Re:There is a great disturbance in the source... by DragonWriter · · Score: 4, Interesting

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


      Good point.

      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.


      Well, yeah, the "raytracing is ideally photorealistic" argument does rely (even ignoring the wave effects that raytracing misses), essentially, on unlimited processing power and memory, and isn't necessarily applicable in any particular practical domain. My reference to shortcut techniques to directly model particular phenomena instead of tracing all the necessary rays being a feature of even static raytracing package, and to many of the idealized advantages of raytracing not being realized in practice was based on that.

      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 ?-)


      That sounds about right, probably using a quantum computer "graphics card" (QGPU?).
    18. Re:There is a great disturbance in the source... by kb · · Score: 4, Informative

      As far is I've understood it he isn't exactly using the octree for LOD but for storing all voxel data in s parse (there we have it ;) manner. If you only have one "layer" of voxels at whatever resolution defining eg. only the surface of things, most nodes of the octree will remain empty, and so you can reduce the data set to storing only what's necessary for rendering instead of having to store a full-resolution 3D representation of your space. Of course this leans happily towards a LOD system, as storing the data in different resolutions aka mip-mapping the geometry and then accessing the right detail level would essentially be for free if you do it right. In the end it's a promising approach with of course many details to be sorted out - there's still a lot of data to be stored per-voxel (texture coordinates, normals, basically everything that now goes into a vertex) if you want the full feature set like eg. lighting and such. But given dedicated hardware and combined with his mega texture stuff (which is basically only glorified unique UV mapping, perhaps somewhat generalized and with a good resource management system behind it) this could be pretty cool.

    19. Re:There is a great disturbance in the source... by Trogre · · Score: 1

      Unfortunately Raytracing only does half the job when it comes to accurate reflections.

      By shooting rays from the observer we get nice reflections of surfaces on other surfaces, but we completely miss the other end; rays from light sources reflecting off surfaces, thereby illuminating other surfaces.

      This is rather important feature, since pretty much every environment is lit by not only direct line-of-sight with a light source, but so-called ambient light scattered from nearby surfaces. Raytracers typically get around this by specifying an ambient value for each surface, but it often leads to bland areas where there is no light source interaction.

      Packages like POV-Ray now have features like Radiosity to help deal with this, but (IIRC) that requires a departure from ray tracing.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    20. Re:There is a great disturbance in the source... by G-funk · · Score: 1

      Rather than rendering a complete cone (good idea btw), could you get better results (and AA) from ray tracing by simply splitting the rays and averaging results when they're X units long? X could also be a variable for performance tuning...

      --
      Send lawyers, guns, and money!
    21. Re:There is a great disturbance in the source... by Swampash · · Score: 3, Interesting

      depth of field is refraction (through a lens between the viewpoint and the image)

      No it's not. Depth of field is a function of aperture, and has nothing to do with either lenses or refraction.

    22. Re:There is a great disturbance in the source... by smellotron · · Score: 1

      Everything light does is a combination of reflections and refractions (shadows are an artifact of those). So, yeah, what you are in effect saying is that raytracing only provides realistic rendering of things that light actually does.

      More accurately, raytracing is only "good" at specular reflection/refraction and hard shadows. Diffuse reflection is terrible with traditional raytracing, because it requires so many samples in order to get a good result with low variance. This applies to shadow rays as well, because a sufficiently large light source requires the same computation power for sampling as diffuse reflection.

      Think about it this way. I can use x86 assembly to write a web app, but it's far more productive to use a language that makes rapid prototyping and high-level design easier. Just because something is possible (bidirectional path tracing, the "gold standard" of photorealism last I checked) doesn't mean it's a good idea, if it takes orders of magnitude more effort to succeed.

    23. Re:There is a great disturbance in the source... by DragonWriter · · Score: 1

      No it's not. Depth of field is a function of aperture, and has nothing to do with either lenses or refraction.


      You're obviously right. I was confusing focal blur with depth of field.

      OTOH, raytracing can handle depth of field just fine, it just requires shooting more than one eye ray distributed across the radius of the aperture.
    24. Re:There is a great disturbance in the source... by DragonWriter · · Score: 1

      Think about it this way. I can use x86 assembly to write a web app, but it's far more productive to use a language that makes rapid prototyping and high-level design easier. Just because something is possible (bidirectional path tracing, the "gold standard" of photorealism last I checked) doesn't mean it's a good idea, if it takes orders of magnitude more effort to succeed.


      Bidirectional path tracing doesn't take a lot more effort than simple raytracing (building the renderer from scratch takes a bit more work once, building the scenes takes pretty much exactly the same work). It just takes a lot more compute cycles and memory. Which is -- don't get me wrong -- a pretty important concern in lots of situations, especially since there's tricks you can do to avoid a lot of that resource consumption. Good enough and practical beats perfect (or nearly so) and impractical...
    25. Re:There is a great disturbance in the source... by muridae · · Score: 3, Insightful
      POV-Ray's radiosity is still ray-tracing. It just sends more rays out from a point to determine the light that is reaching that point. From the description in the POV-Ray docs, it sounds more like a modified brute force rendering approach. While brute force just picks a relatively random direction and blends the result from each pass, POV determines if it needs to create new radiosity data for that point and if it does generates several rays.

      The photon system in POV-Ray would be a backwards raytracing approach, or forward if you prefer to use the lights as the reference point. The rays are cast from the lights outward towards targets to determine what the effects will be. That data gets stored, then normal raytracing proceeds and uses the photon data to affect the texture where the light falls.

      Want list for POV-Ray: BRDF and BSDF and brute force raytracing.
      Ultimate raytracer: Spectral light instead of single RGB colors mixed with all of the above.

    26. Re:There is a great disturbance in the source... by Doogie5526 · · Score: 1

      What I was implying is what you said. Yes, it's one idea, but you have to develop it to see if it works. If time and focus is spent on **new_lighting_effect**, it will reduce prototyping and research in to innovative gameplay.

    27. Re:There is a great disturbance in the source... by Fred_A · · Score: 2, Interesting

      Except the double-slit experiment. It's based on the fact that light has wavefront qualities, while ray tracing treats it as particles. There's also the problem of the raytracing of moving objects. Especially when they move at a significant fraction of c.

      No, raytracing has way too many drawbacks to be used seriously nowadays.
      --

      May contain traces of nut.
      Made from the freshest electrons.
    28. Re:There is a great disturbance in the source... by Fred_A · · Score: 1

      Oh and of course, you can only trace fairly large objects.

      So what if you want to play an electron in the new "Atomic Adventure" ?

      --

      May contain traces of nut.
      Made from the freshest electrons.
    29. Re:There is a great disturbance in the source... by ultranova · · Score: 1

      There's also the problem of the raytracing of moving objects. Especially when they move at a significant fraction of c.

      To account for red- and blueshift: simply keep track of the speed of each object in the scene, then whenever a ray bounces, alter its wavelength (color) based on the speed difference of the object it last hit (or was emitted from) and the object it hit now.

      Apart from this, there's the Lorentz contraction. From what I've understood, this can be accounted for with a simple scale operation - standard in most raytracers - along the direction of movement.

      The real problem is that the speed of light is finite, so in order to get a correct picture when objects move rapidly you'd need to calculate their path backwards along with the ray. Oh well, I guess there's no getting around it: you need a full 4-dimensional spacetime simulation. It shouldn't be that hard, since POV-Ray already supports sweeping 2-dimensional shapes along a path, and this is simply an extension of that.

      --

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

    30. Re:There is a great disturbance in the source... by ericlondaits · · Score: 2, Funny

      I already have a QGPU in my computer, though I think it died... I should pop open the case and take a look.

      --
      As a Slashdot discussion grows longer, the probability of an analogy involving cars approaches one.
    31. Re:There is a great disturbance in the source... by Have+Brain+Will+Rent · · Score: 1

      Though we asked for some kind of diagram or screenshot that might demonstrate what kinds of detail John was referring to, we weren't able to get anything quite yet

      Uh, yeah... the whole article is a lot of text with an amazing amount of hand waving and very little useful information.

      John and David Kirk also agree that mixing and matching traditional rasterization rendering with ray tracing is not only possible

      Considering the idea has been around for at least two decades that's a pretty safe bet.

      does see the future general purpose computational power of the GPU being utilized for physics

      That's going to be a big relief for all the science people who have already been doing that for a few years.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    32. Re:There is a great disturbance in the source... by Have+Brain+Will+Rent · · Score: 1

      Depth of field is a function of aperture, and has nothing to do with either lenses or refraction.

      Ummmmm, aperture of what (if there are no lenses or refraction involved)?????

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    33. Re:There is a great disturbance in the source... by Chris+Shannon · · Score: 1

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

      Except the double-slit experiment.

      Everything that light does is described by Maxwell's equations. The future of FPS graphics is FDTD.
      --
      "Follow me" the wise man said, but he walked behind.
    34. Re:There is a great disturbance in the source... by Phoenix919 · · Score: 1

      You make valid poitns. of course, if our ultimate goal is to progress and continue to push our graphical abilities to the limits, imagine the implications of ray-casting and photon mapping as far as holography technology is concerned. Granted the work in that field still has a long time to catch up, but being prepared with systems already storing the future necessary information can in no wise be a bad thing. my two zinc's.

  2. voxel? texel? But I want a pony! by davidwr · · Score: 4, Funny
    This just came through the time vortex, dated 3 weeks from yesterday:

    Voxel? Texel? Just make my pink pony look nice and pretty.
    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  3. Right... by n3tcat · · Score: 1, Insightful

    Lest we overlook the fact that he thought multiplicative lighting was the way to go, rather than dealing with the performance hit of additive lighting in Quake 3. Sometimes the fastest way is not always the best way. Or at least the only best way.

    1. 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?
    2. Re:Right... by DeltaSigma · · Score: 4, Interesting

      I doubt any mod team was hit harder by that fact than mine. Yet, I can't fault him for the decision. It's unlikely anyone on my team did/does. By supporting almost every hardware graphics accelerator on the market at the time, Quake 3 almost single-handedly fostered the feedback loop that drove mainstream adoption of dedicated graphics accelerators.

      You sound like someone that's had the same thought every serious modder/engine-licensee has ever had; "if they could have just included/modified this ONE feature, my game would be feasible/better."

      Yet you haven't encountered that phrase enough times to appreciate the fact that engine developers have to draw a performance line somewhere. Your desired feature just happened to be on the wrong side of that line.

      Further, engine-developers of John Carmack's caliber would (I promise you this) love to have supported every feature you've ever thought of (and more). John Carmack's always been on the cutting edge, usually refining it. He sometimes makes decisions that are a matter of taste that you can feel free to disagree with him on, but that particular feature wasn't one of them.

    3. Re:Right... by jaguth · · Score: 3, Funny

      The Church of Carmack condemns your post, a profuse apology and confession is now your only hope to salvation. Belief in ray casting will put you down the road to truth and righteousness! But seriously, Carmack created the FPS genre and is still a leader, which makes him one of the most experienced in his field, so, you know, that kind of helps in creating a "god-like" status, or if your still skeptical, a "mini-god" status. okay, how is "almost-god" sound? At least put the word "God" and "Carmack" in the same sentence somewhere, preferably next to each other...

    4. Re:Right... by Anonymous Coward · · Score: 0

      > Conclusion: Carmack sucks!

      GP did not say that. Your conclusion seems to be that because he was wrong once, he can never be wrong again.

    5. Re:Right... by a+whoabot · · Score: 0, Troll

      Is "n3tcat" the handle for somebody with thirty years experience in first-person shooter engines or something? I have actually worked on First Person "Shooters" since 1965 AD and I assure you that traditional Ray-Tracing is still the future of the field no matter what this Jon Carnak says.
    6. Re:Right... by Mex · · Score: 1

      Not only that, but he open sourced the code of whatever game he had worked on just a few years ago. Doom and Quake's source code for the community. Who else does that?

      Who knows if he'll do the same with the Doom3 engine, but...

      The Carmack rocks.

    7. Re:Right... by blahplusplus · · Score: 4, Insightful

      "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?"

      Many people with years of experience still make god awful mistakes. Experience can only take you so far considering that experience is also the reason why companies stagnate because people get locked into a certain way of looking at things.

    8. Re:Right... by oneiron · · Score: 1

      Q3A had a specific purpose.... To fulfill that purpose, it needed a big enough graphics boost with blazingly fast framerates to support practically the first viable deathmatch-only FPS. He had to make sure the audience would be large enough to make it viable, and in the case of q3a's stated purpose, the fastest way was definitely the best way.

    9. Re:Right... by IdeaMan · · Score: 1

      Isn't the term "God-like!" ?

      --
      They ARE out to get you simply because They are in it for themselves and they don't care about you.
  4. Stunning! by DragonWriter · · Score: 1, Insightful

    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.


    Surprisingly, a developer things that the technique he is working on is better than other techniques to address the class of problems to which the technique applies.

    In other news, a substantial quantity of water was discovered in the Pacific Ocean.
    1. 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.

    2. Re:Stunning! by Anonymous Coward · · Score: 0

      In yet other news, a developer can thing. Amazing.

    3. Re:Stunning! by nomadic · · Score: 1

      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.

      I try not to accept anybody's words without hesitation. Carmack is probably the best-known FPS coder ever, but "best-known" doesn't necessarily mean best.

    4. Re:Stunning! by Falesh · · Score: 4, 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?

    5. Re:Stunning! by theantipop · · Score: 1

      Of course he does, otherwise he probably wouldn't be investing his time into the concept. This is news specifically because he holds so much weight in his field.

    6. 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?
    7. Re:Stunning! by santiagodraco · · Score: 1, Flamebait

      What you really mean to say is that your original comment was meant to be dismissive, probably due to your hating the fact that someone other than you is considered a primary expert on a subject. Your second comment is you realizing you were called out, appropriately, and need to reply in some way that will backup that you were being dismissive originally (although you claim you weren't). You realized that to do so you had to at least provide some cut and paste arguments to reinforce your dismissive attitude. Of course you don't come right out and say whether John's approach is better or not, you just try to "imply" it's not without really taking a stance.

    8. Re:Stunning! by DragonWriter · · Score: 1, Interesting

      What you really mean to say is that your original comment was meant to be dismissive, probably due to your hating the fact that someone other than you is considered a primary expert on a subject.

      Um, no. What I meant to say is exactly what I said. My first comment was intended to be dismissive, but not of either Carmack's position or TFA so much as the presentation in TFS. And not because someone other than me is considered a "primary expert" (whatever that phrase is supposed to mean) on this subject, which is about as remote from anything that I would claim expertise in as is possible while still being a subject where I am aware of what is going on on even a very general level.

      Your second comment is you realizing you were called out, appropriately, and need to reply in some way that will backup that you were being dismissive originally (although you claim you weren't).

      No, my second comment was (aside from the part directly referring to the post it responded to) the comment I probably would have posted at about the same time that I did whether or not I was "called out". Its not uncommon for me to post both short dashes on style (especially somewhat tongue-in-cheek ones) and longer pieces on substance in the same thread on Slashdot, and the latter generally take more reading, consideration, reflection than the former: consequently, they are often (though not always) posted later.

      And I never claimed I wasn't being dismissive. Nor, except insofar as explaining, in this post, what it was I was being dismissive of is a "defense", have I posted anything defending that dismissiveness.

      You realized that to do so you had to at least provide some cut and paste arguments to reinforce your dismissive attitude.

      Please defend your assertion that any of the arguments I posted (none of which were either intended to, nor serve to, reinforce any dismissiveness) are "cut and paste".

      Of course you don't come right out and say whether John's approach is better or not, you just try to "imply" it's not without really taking a stance.

      You are misusing quotes here, I'm not sure what you intend by them, but none of the things for which quotes are properly used makes any sense. That aside, you are wrong in both your statemetns: I did take a stand on whether Carmack's approach was better than what he compared it to, and I did not try to imply anything beyond what I said: I said that it was quite clear that Carmack's approach is superior to what he compares it to (naive raytracing against raw triangle meshes), I also said it was questionable how relevant that was to the real alternatives in the domain of raytracing.

      If you want a more detailed assessment: by Carmack's own admission, his specific approach is not designed to address or provide many of things held out as unique benefits of raytracing (shadows, multiple-bounce reflections), and it quite obviously isn't "as good" at those things than alternatives which do provide them. OTOH, what little I know of the general datastructure at the heart of his approach (sparse voxel octrees) doesn't provide any reason to think that the general approach couldn't be applied (if it really outperforms other techniques of reducing the number and complexity of ray-object intersection tests, something the TFA provides no evidence of) just as well to the full spectrum of raytracing tasks, including handling reflected rays, so, whether or not this is Carmack's particular interest or something his particular engine will be good for, the approach he is using seems likely, if it is good at all, to be good there, as well. Finally, on an even higher level, I think Carmack is likely correct in arguing (against Intel and others) that hybrid approaches that use raytracing with some other non-raytracing techniques (whether the kind of rasterization popular now, or something else) will have an import

    9. Re:Stunning! by Lord+Crc · · Score: 1

      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). Skimming over the article, I get the impression that he's not rendering triangles:

      Now what is different about this versus a conventional ray tracing architecture is that it is a specialized data structure that you can ray trace into quite efficiently and that data structure brings you some significant benefits that you wouldn't get from a triangular structure. It would be 50 or 100 times more data if you stored it out in a triangular mesh, which you couldn't actually do in practice. Ray casting voxels obviously not a new thing, but perhaps his supposedly new data structure can make it work on next gen hardware.
    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 DragonWriter · · Score: 1

      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.


      The wording in the article suggested that. I would assume, given your background, that you probably knew better than that, but as written the article seemed to be exaggerating the naivete of the alternative approaches to yours. Part of that was my misreading of what you are proposing, though (as noted below).

      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 did miss that, whether the article was unclear I just misread it, well, I'm hardly the one to judge. (Transcripts of interviews, in general, I find to be less clear than articles which are written based on interviews rather than straight transcriptions, and maybe that's part of the issue here.)

      Certainly, using such a structure as a kind of special primitive is different than a bounding structure, and I can see that it would offer a greater efficiency in time and space; intuitively, I'd assume you'd need to do some kind of normal interpolation across the voxel (keeping normals at all 8 corners?) since you lose the surface normal information that you'd get from normal ray-object intersection tests (but you've got to do that with triangle-based models that are simulating curved surfaces, too, in raytracing, so that doesn't seem to be much of a downside to weigh against the benefits.)

      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.


      And if my response to the article suggested that it did not have promise, than that was my mistake: even having misread what exactly you are proposing, I didn't mean to suggest that. I thought the article, and even moreso the summary on Slashdot, exaggerated the difference between what you were doing and what others are doing (I think, even read in terms of what you are actually proposing, the summary still does that), but not that what you seemed to be proposing (and even less what you are actually proposing) wasn't something with some promise.

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

      Dude, you got pwned by JOHN CARMACK!

    14. Re:Stunning! by ozphx · · Score: 1

      I remember looking at a similar structure back when I first started playing with openGL. At that time I gave up because despite the optimisations I was making (closing off nodes as "solid" or "empty") I didn't see it ever having enough fidelity to be useful for rendering. Of course this was before I imagined half teraflop graphics cards sucking down 200 watts.

      A large benefit I saw in it was collision detection. Applying transforms to distort particular nodes in the tree would also make it easier to perform plastic collisions.

      Hmmmm and I was just thinking about octree operations... I had the amusing scenario of accidently hooking half the world off my characters left leg. Recursive Escher level design anyone?

      --
      3laws: No freebies, no backsies, GTFO.
    15. Re:Stunning! by jmbenjamin · · Score: 3, Funny

      Huh, I always figured John Carmack would have a sub 1000 uid. Preconceptions have been shattered!

    16. Re:Stunning! by Maexxus · · Score: 1

      Apparently this project uses a similar approach to the one you've described, http://youtube.com/user/xenopusRTRT

      /me bows down to Carmack

    17. Re:Stunning! by eggnoglatte · · Score: 1

      When I saw this summary, I had to think of the nGrain engine. Are you familiar with that? What are the differences?

    18. Re:Stunning! by Dtag · · Score: 1

      Would you mind going a bit into detail about what this 'sparse octree' structure you are suggesting really is? I mean I generally know what a sparse octree is but Im not sure whether just dropping the intersection test at leaf level is going to make things so much faster. Where is the 'revolutionary' thing that makes this so much faster than raytracing right now? I wouldnt say its really the actual intersection test that makes it slow... Also how are you going to determine normals at voxel level - maybe somehow similar to what marching cubes does?

    19. Re:Stunning! by shutdown+-p+now · · Score: 1
      Don't voxels have this problem of not scaling up with display resolution? That is, won't it look bad when the rendered size of most voxels visible on the screen is larger than 1 pixels? I recall it being a problem when trying to play old voxel-based games on newer machines.

      Or are you going to handle that with some form of interpolation, not just for color like we have today for textures, but for shape as well? If so, then what is the benefit of voxels compared to some kind of curved surfaces to describe geometry - wouldn't the latter be more efficient?

    20. Re:Stunning! by Bob-taro · · Score: 1

      Surprisingly, a developer things that the technique he is working on is better than other techniques to address the class of problems to which the technique applies.

      I don't get it -- are you implying that there is some ulterior motive? Does this somehow make his opinion less relevant or more suspect? Obviously he's working on that technique because he thinks it's the best technique. IMO, the fact that he's practicing what he's preaching only adds weight to his opinion.

      --
      Prov 9:8 Do not rebuke mockers or they will hate you; rebuke the wise and they will love you.
    21. Re:Stunning! by Tibor+the+Hun · · Score: 1

      In a twisted turn of events, he just became John Carmack's bitch!

      Yes, I know. I did say it was a twisted turn of events.

      --
      If you don't know what AltaVista is (was), get off my lawn.
  5. 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?
  6. Re:So, by Anonymous Coward · · Score: 0

    He is as legendery as game programmers get. I guess that there are some people that wouldn't know a "legendary game programmer" but it is usually those that hang out in cool places, not /.

  7. Anyone betting on if Ray Tracing will give id.... by Zymergy · · Score: 3, Funny

    ...*MORE SHADES OF BLACK*??!!

  8. OMG Ponies! by OrangeTide · · Score: 1
    --
    “Common sense is not so common.” — Voltaire
  9. Whatever, Just Let RAGE Not Suck... by morari · · Score: 1
    Doom 3 was horribly boring, despite looking pretty.

    Why not go back sometime and do Quake the way it was meant to be done? I'd love to see those Lovecraftian references fleshed out properly, along with gameplay mechanics that aren't just a "running short on development time, do it like DooM!" type of scenario.

    RAGE might very well be great, if it does truly end up being the open-world game version of Mad Max. After what happened with Doom 3 and Quake IV (not quite Id's fault) however, I'm going to have to be won over. No more assuming greatness with Id games!

    --
    "He who can destroy a thing, controls a thing." --Paul Atreides, Dune
    1. Re:Whatever, Just Let RAGE Not Suck... by rucs_hack · · Score: 3, Interesting

      Redo quake? Why?

      I guess you haven't seen ezquake (best obtained in the nquake package). A faster, more frantic FPS game you will not find. It's also been substantially improved graphically, so there are many more colours about the place.

      Any reworking of quake 1 would be badly received by the old school (by this I mean most people who still play it). New people wouldn't see the need, since most of them have grown up on a different fps style. Why revisit quake 1?

      Personally I love the game, and play it often. If I have one criticism its that most of the servers are populated by people who are so good at the game, after playing for so long, that just living long enough to pick up a gun and kill someone can be a real challenge.

    2. Re:Whatever, Just Let RAGE Not Suck... by miscz · · Score: 1

      Hey, I liked Quake 4. It was nothing revolutionary but quite fun. Compare it to Bioshock and you realize that Quake 4 didn't get 10/10 reviews just because it wasn't insanely overhyped and reviews weren't paid for.

    3. Re:Whatever, Just Let RAGE Not Suck... by avandesande · · Score: 1

      DOOM 3 was really a demo of their new game engine. I don't see anything wrong with building a game platform and then selling it to other companies who want to do creative work.

      --
      love is just extroverted narcissism
    4. Re:Whatever, Just Let RAGE Not Suck... by GreggBz · · Score: 1

      I'm sick of the "modern" FPS. HL2, Bioshock, never finished em'. I liked Doom3 better, but I won't rave about it.

      It just seems these days you have incredible graphics and the inevitable linear progression up to "the Boss."

      Further, things really never get any more challenging. I never feel like I need to take my gameplaying skill and reflexes to the next level, as I have grown up doing with simpler games. I'm just shooing more zombies.

      I don't get any sense of immersion. Maybe they throw in some token power and equipment variety, that's it. These games feel like a mediocre scifi movie where I get to click my mouse button.

      I enjoyed Doom 3 because it was intense and challenging at points. And the big fat shiny story did not have "twists and turns" as to be some poorly conceived distraction. It was closer to the pure arcade sweat it out experience.

      I want my games to be difficult and intense (Quake-3 Multilayer) or more interactive with true freedom and quality RPG elements (STALKER). Just don't give me something with state of the art graphics that pretends to be both.

      I just hope ID can deliver with RAGE. I like the setting, and I think the FPS market is ripe for something that truly provides old school RPG freedom. Oblivion and STALKER came very close.
    5. Re:Whatever, Just Let RAGE Not Suck... by WhodoVoodoo · · Score: 1

      I agree. Quake 4 was a solid game.

    6. Re:Whatever, Just Let RAGE Not Suck... by GreggBz · · Score: 1

      Of course! Read the rest of my post ;-) STALKER is my favorite game in the past few years.

    7. Re:Whatever, Just Let RAGE Not Suck... by QuantumG · · Score: 1

      The problem with skill levels is that kicking someone from a game because they are too good is considered "unfair" or something.

      So the only skill level recognized as legitimate is "high skill".

      --
      How we know is more important than what we know.
    8. Re:Whatever, Just Let RAGE Not Suck... by CaptnMArk · · Score: 1

      If you haven't yet, try Painkiller.

      The graphics and gameplay remind me very much of Quake.

    9. Re:Whatever, Just Let RAGE Not Suck... by Nicolay77 · · Score: 1

      What about the first half of FarCry? (Or Crysis) ?

      Play those in the high difficulty setting and be prepared for a blast.

      The second half of each game is about monsters and aliens and not as good as the first part.

      --
      We are Turing O-Machines. The Oracle is out there.
  10. How does it play with Physics? by Telvin_3d · · Score: 4, Interesting

    My biggest concern with where he is going with this is that it does not sound like it will play very nice with physics. In page two he makes some comments on how characters and other animated elements will still likely be done with more traditional methods and then mixed with this for the static objects like the world.

    The problem with this is that we are moving more and more towards interactive environments where everything from the ground to the flowerpots are breakable, bendable or movable. It doesn't sound like this new system will play very nice with physics intensive or highly interactive environments. Now, i could be completely wrong. He doesn't address the point directly. But it is still a point for concern.

    1. Re:How does it play with Physics? by Speare · · Score: 2, Interesting

      The problem with this is that we are moving more and more towards interactive environments where everything from the ground to the flowerpots are breakable, bendable or movable. It doesn't sound like this new system will play very nice with physics intensive or highly interactive environments. Now, i could be completely wrong. He doesn't address the point directly. But it is still a point for concern. I agree completely. When Carmack can implement even a low-polygon all-things-dynamic wonder like Katamari Damashii using his quartile duplex hectotree algorithm, I'll be impressed. The time of precompiling 99% of the game into a static optimized traversal graph is over. Now you've got a bag of loose models (many of which morph), the sum of which fills the screen.
      --
      [ .sig file not found ]
    2. 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.
    3. Re:How does it play with Physics? by Chandon+Seldon · · Score: 4, Insightful

      Yea. Because interactivity trumps photorealism for every single possible type of game. Oh wait, that's false.

      You sound like the people who said that StarCraft was crap because sprites were outdated junk and every good game (like Total Annihilation) had already moved to 3D. Different engineers will make different design choices for different applications, and there is no total order of correctness among a single class of design choice.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    4. Re:How does it play with Physics? by Floritard · · Score: 1

      There is always going to be static geometry in a level. You don't want the entire thing to be deformable/movable/destructable, especially in a multiplayer game. The end result would just be a big old bowl of slop with everything interesting about your environment has been pulverized to rubble. If you had 32 guys running around shooting rocket launchers at each other that would pretty much dessimate any real-life structure in a matter of minutes. Some things just need limits in a gaming environment. Flying crates and debris is fun, but who wants to play in wasteland of scrapped geometry?

      Not to mention it is hard enough to create a compelling narrative for players with the freedom they already have in-game. If players can just knock down walls willy-nilly the task of building suspence/flow/critical paths in a game level become increasingly more difficult.

    5. Re:How does it play with Physics? by WilyCoder · · Score: 1

      Wait, you mean next gen games will let us crash galaxies into one another? Sign me up :p

    6. Re:How does it play with Physics? by Anonymous Coward · · Score: 0

      My biggest concern with where he is going with this is that it does not sound like it will play very nice with physics.
      You mean like the Matrix?

    7. Re:How does it play with Physics? by SpectreHiro · · Score: 2, Insightful

      If you had 32 guys running around shooting rocket launchers at each other that would pretty much dessimate any real-life structure in a matter of minutes. Some things just need limits in a gaming environment. Flying crates and debris is fun, but who wants to play in wasteland of scrapped geometry?
      You're right. Playing in a wasteland of scrapped geometry doesn't sound like much fun. OTOH, turning a perfectly good level into a wasteland of scrapped geometry... now we're talkin'.
      --
      You can't win, Darth. If you mod me down, I shall become more powerful than you could possibly imagine.
    8. Re:How does it play with Physics? by Esc7 · · Score: 1

      Hey I coded renderers for sparse voxel octrees of LIDAR data! I feel kinship! And your point completely make sense. Concentrate on where it is necessary, and let the rest be approximated. You can even write algorithms that adaptively increase/decrease quality depending on the hardware it is running on at runtime.

    9. Re:How does it play with Physics? by macklin01 · · Score: 1

      This could be used in a whole host of areas where object-object interactions are important, but testing for those interactions can be very expensive. (e.g., molecular dynamics, agent-based biology modeling) One method we've used to solve these issues are interaction potentials. (the object-object interactions are through gradients of the potentials that can be scaled linearly with the number of objects if cleverly constructed.) However, I'm intrigued at using these data structures as an alternative approach, although I wonder if you'd get the savings if the objects were spaced more uniformly.

      Do you have any publications you can point me towards? Thanks! -- Paul

      --
      OpenSource.MathCancer.org: open source comp bio
    10. Re:How does it play with Physics? by RiotingPacifist · · Score: 1

      Player A, has uber shotgun
      Player B, only has a rocket launcher
      Player A camps in a small room to shotgun player B as he walks in.
      Now wouldn't it be much cooler if player B, blew a hole in the wall then knifed player A in the back for being such a camping pussy.

      sniper A, has been owning noob B for 20 minutes from the top of a tall building.
      noob B, finds an explosive. Dont we all want to see noob B, blow up the tall building and sniper A fall to his 'doom'

      If you make levels dynamic, then you make multiplayer games much more enjoyable. Player 'i have no life and learnt every level perfectly', loses his edge and actual skill / tactics come back into the game. Last time i gamed one of the most interesting games i played allowed players to build their bases before the rounds. The building was very limited, but it added a whole level of dynamic-ness that meant you could play the same level much more before it got repetitive. IMO the TFC levels where there were demo-man destroyable shortcuts where the best ones as some had completely different tactics before/after destruction.

      *dreams of a day when every wall can be destroyed, every floor can be craters, every level can collapse.

      --
      IranAir Flight 655 never forget!
    11. Re:How does it play with Physics? by pavon · · Score: 1

      Voxmaps in general are great for breakable objects, because unlike the polygon/texture-map approach where only the surface has a texture, with voxmaps every voxel in the object can be defined (CAT scans are examples of voxel data). Furthermore, if you assign properties like tensile strength to the voxmap, you can calculate on demand how and where something will break, and have it be different depending on exactly what the forces on it are. All sorts of cool opportunities there. Of course, the unless you play some tricks to only load the voxels that are currently on the exterior, your memory use will also sky rocket. I can't say whether the particular implementation of sparce-octrees that he is thinking of (I have seen a couple) would be memory efficient for these sorts of destructable environments.

      As far as collisions, bouncing, and the sort, voxmaps are just as good as polygons.

      Where voxmaps are not well suited though is for bendable, stretchable, or otherwise deformable objects. Calculating the deformation on the fly is much easier with meshes. Even statically defined deformations (like an animated character) will use a ton more memory than the equivalent polygon/texture-map solution. The reason is that the geometry and texture are one and the same so each frame of the animation duplicates all the texture information, as opposed to just changing the polygon and keeping the texture-map the same. This is likely why he would like to continue using the current approach for animated / deformable objects.

    12. Re:How does it play with Physics? by Anonymous Coward · · Score: 0

      Different game designers and producers will make different design choices for different games There, fixed that for ya. Engineers get input on what the game should be like just like the rest of the developers, but major game stuff like 2D vs. 3D is out of our hands (because it's not our job) if there's no technological barrier.

      --engineer on a major rts

    13. Re:How does it play with Physics? by BeanBunny · · Score: 1

      I think that assigning limits to the destructability of a game environment is essential to any narrative or story script. Allowing everything to be destroyed by the player allows to much probability that the player will work "around" the story. There are design decisions that can be made to compensate (cliff walls, extreme drop-offs, futuristic force fields), but these are difficult to implement and restrictive to the story (can't have a force field in an historical setting).

      On the other hand, I yearn for the day that I can lay waste to everything in a battlefield. IMHO, it should look like a battlefield once the match is over. Give me splintering wood, craters, collapsing buildings, exploding vehicles, dense smoke, flying glass, and persistent chunks of dirt and I will be happy.

    14. Re:How does it play with Physics? by ghostlibrary · · Score: 3, Informative

      > Do you have any publications you can point me towards?

      Hmm... well, I write here under a pseudonym so it's hard to look up my work. But you can look up 'TreeSPH' in google for some good references to lots of astrophysical implementation. The 'Tree' part is obviously the voxel octtrees, while the 'SPH' means they added hydrodynamics to it by making 'blobs' that have a variable kernel size for smoothing over neighbors.

      Which basically means, for hydrodynamics, if it's uniform density you can use a single large 'blob' to represent it, while in an area where the density is rapidly changing you go to smaller 'blobs' because you need more computation. You then use a kernel function, which basically means how much you smooth over neighbors to get a good distribution. With this, you spend all your hydrodynamic computation time on the rapidly changing, shocky, or active stuff. So it's another example of how to decompose a problem they way Carmack seems to be suggesting.

      Funny thing is, in astrophysics, this stuff came out in the late 80s/early 90s, and astrophysics usually lags behind physics by a half a decade, which lags behind pure math by a decade. I think the challenge for getting into gaming is converting codes intended for cluster/supercomputer massive calculations into the realm of fast PC gaming.

      Tree codes are already heavily used in computer gaming (browsing through 'Computer Developer' magazine shows they are used for dynamic line-of-sight work a lot), so none of what Carmack suggests is cutting edge comp sci in theory. In fact, he used binary space partitioning with Doom, which is in the same field. Much as with Doom etc, the key is can he come up with a fast implementation (or even approximation). I think that's his real talent-- taking existing methods and concepts and figuring out a 'real world' implementation that's fast enough for gaming. He's a programming engineer of no small talent.

      --
      A.
    15. Re:How does it play with Physics? by CaptnMArk · · Score: 1

      For me, the peak of RTS was Dune 2.

      It was simple and fun to play.

      Tank rush FTW!

    16. Re:How does it play with Physics? by Floritard · · Score: 1

      I'm not saying the level cannot be dynamic, but I am saying some of it will always remain static. In your example, Player B destroys the sniping point which effectively removes the sniper class from viability. You've just blown your load "expanding" your own gameplay experience for the short term while effectively lessening the potential of the ongoing experience of you and everyone around you. A good map allows for vulnerabilities when it comes to such "camping pussies," but they also need their perches to make the best use of their own class advantages. It's called balance and when you have 32 people all running around with rocket launchers because the playing field has literally been leveled to the point where only brute force, aggressive classes stand any chance then you've really only limited the game. And concerning TFC, the special routes which could only be opened up using the demoman's det packs are essentially, just keyed doors. The level is still the same, but the demoman has "unlocked" a new door, a very specific door with specific consequences designed into the level by the map maker in the first place. I'm all for opening up new strategies, but I fail to see how completely destroying a level will make it less repetitive. Why not just give everyone the ability to fly and shoot lasers out of their eyes?

    17. Re:How does it play with Physics? by Anonymous Coward · · Score: 0

      I'm thinking of something along the lines Ken Perlin's Voxlap cave demo for a deathmatch game.

      Start out with a large blob of procedurally generated terrain and let all the players burrow through it with rocket lauchers/grenades/bombs/pickaxes/whatever.

      Need a place to hide while you recover from being shot in the face? Go dig one!
      Want to sneak up on the other guy's base from below? Dig a tunnel!
      Want to get away from all the fighting and go pick turnips? Well, I guess that's not dependent on destructable terrain, but if representing the world as an octree allows you to represent vast terrains (see the Sauerbraten engine for examples of this).

      I imagine this could be pretty awesome for simcity-type games, as well.

  11. Re:How about.... by Broken+scope · · Score: 4, Insightful

    Because he is more of an engine/renderer designer than game developer.

    Its his job, and im pretty sure his passion to think about stuff like this.

    --
    You mad
  12. So... what this tells me... by scubamage · · Score: 2, Funny

    So, let me get this straight, intel says their baby is the best. Nvidia says theirs is the best. And Carmack is making his own, and saying his is the best. Wow, these articles have all been so informative. I could not possibly have predicted those outcomes.

    1. Re:So... what this tells me... by AKAImBatman · · Score: 4, Insightful

      Wow, these articles have all been so informative. I could not possibly have predicted those outcomes.

      Meanwhile the rest of us have been enjoying these articles immensely because we get to obtain some insight about what each of the major players are thinking in regards to Real-Time Raytracing. The great thing about obtaining insight from others is that you can then use your newfound insight to come to your own conclusions.

      If you're simply looking for a consensus from the industry, don't expect one for a long while. The concept won't entirely be accepted until someone goes out there and proves it out. Just like high-quality 3D graphics were thought to be too slow on the PC. Until game creators proved out a few different methods to make them usable, that is. (Starting with Wing Commander, moving to Wolf-3D, Doom, Duke 3D, and eventually Quake. After that, the industry said, "Welp, we better make some hardware for this." And thus 3DFX was born. ;-))
  13. Re:Carmack is yesterday's news by Anonymous Coward · · Score: 2, Insightful

    John Carmack is not a game developer, he's an engine programmer.

  14. Re:Carmack is yesterday's news by plague3106 · · Score: 1

    Who would be those other developers?

  15. Re:An Irrelevant Hack by neumayr · · Score: 2, Informative

    The guy was considered an relic of the late 90s pc fps era years ago. Late 90s? So you're saying the Quake3 engine wasn't highly impressive? Why was it so succesful then? Why was it used by so many games until shortly before that HL2/Doom3 year?
    Note I'm not arguing for the Doom3 engine...
    --
    Truth arises more readily from error than from confusion. -Francis Bacon
  16. The CEO of NVIDIA by Lewrker · · Score: 0

    then confirmed Carmack's words when he was leaving his appartment after what they both described as a "different kind of LAN party."

  17. Re:So, by nschubach · · Score: 4, Informative

    John Carmack == Commander Keen == id Software == Doom = Wolfenstein == Quake == ??

    You've never heard of any of those? the guys you mention might not even be in gaming if it weren't for Carmack and John Romero.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  18. Or, raytracing could work by 192939495969798999 · · Score: 1

    Whenever anyone decries a method as "not going that direction", there is always my memory if in the early 1900's, some famous physicist declaring that all of Physics had been invented and there would never be anything new from that point on. There is always the chance that as chips just get faster and more cores, especially with interval raytracing, that at least a few games will go that way. If those games are popular enough, then like wolfenstein 3d and doom did for raycasting with textures, a whole new arena of game graphics will be opened up. For those that don't remember, on the original hardware wolfenstein 3d was a dog! It wasn't until much later that a large percentage of gamers had the hardware to do a decent frame rate at full screen.

    --
    stuff |
    1. Re:Or, raytracing could work by Creepy · · Score: 2, Informative

      Carmack is not saying the industry won't go to ray tracing, but rather that the industry won't abandon rasterization because each has strengths and weaknesses.

      He believes the same thing I do - a hybrid approach is most likely, at least in the short term. A sparse voxel octtree (a voxel is a 3d pixel and an octtree is a uniform 3d structure to hold the voxels - they are sparse because most are empty [hold air]) and would work well for ray tracing because it sounds like you'd need to cast rays to find the voxel. I'm not sure why/how it would save on overlapping edges unless the voxel itself holds color (texture) information and is fragment level in detail. Still, that seems like it would be an incredibly large data structure, so I'm sure he's doing some trick that I can't think of at the moment.

    2. Re:Or, raytracing could work by nuzak · · Score: 1

      there is always my memory if in the early 1900's, some famous physicist declaring that all of Physics had been invented and there would never be anything new from that point on.

      First of all, physics is discovered, not invented, and secondly, the early 1900's ushered in a whole new field of physics that everyone was absolutely abuzz about, and lastly that was a claim by the head of the USPTO saying something to the effect of everything having already been invented. I think it was probably tongue-in-cheek, but certainly a little bit prescient at least as the patent office goes.

      --
      Done with slashdot, done with nerds, getting a life.
    3. Re:Or, raytracing could work by BOFHelsinki · · Score: 0

      but rather that the industry won't abandon rasterization because each has strengths and weaknesses.

      Aside from intrinsic strengths and weaknesses, he also observes that the industry has reason to stick to rasterization simply because very powerful rasterization hardware is ubiquitous, and that's hard to argue with. Nvidia and ATI aren't going to make it a walk in the park for Larrabee when it appears.

      On hybrid approaches, it's interesting that Intel now seems to be talking about serious texture sampling capabilities for the initial 16 to 24 core Larrabee, as if backing away from the "pure ray-tracer" idea.

      As to large data structures, the "Megatexturing" of id Tech 5 is apparently built closely around a streaming subsystem (reminding one how he talked about "virtual texturing" years ago in a .plan post), so I'd expect a continuation of that theme here too. In a comment some way above he indeed mentioned streaming to the extent of realtime online distribution becoming common in id Tech 6's timeframe. I'll expect some serious emphasis on smooth data traffic.

  19. Re:Anyone betting on if Ray Tracing will give id.. by rucs_hack · · Score: 2, Insightful

    surely you mean brown...

  20. Uhhhh... by jd · · Score: 3, Funny

    What do you mean he's not God? Isn't that heresy? (Or was that written by someone else?)

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Uhhhh... by chiui · · Score: 1

      If I had mod points I'd mod the "redundant" moderation funny.

      --
      Moderation is overrated.
  21. Limited graphics by goatpunch · · Score: 5, Funny

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

    1. Re:Limited graphics by Anonymous Coward · · Score: 0, Funny

      Not so fast - I'm working on an expansion pack that lets you play as a teapot.

    2. Re:Limited graphics by White+Flame · · Score: 1

      Except now the surface of the sphere during realtime will be rough voxels instead of tessellated triangles.

  22. Re:So, by mcpkaaos · · Score: 1

    Oh jeez, you just had to say the other J-word, didn't you? Do we have enough hairspray on hand in case he shows up?

    --
    It goes from God, to Jerry, to me.
  23. Re:Anyone betting on if Ray Tracing will give id.. by gardyloo · · Score: 3, Funny

    It's like, how much more black could this be? And the answer is none. None more black.

  24. Re:So, by Ecuador · · Score: 1

    And this is "John Romero's about to make you his bitch!" John Romero!

    --
    Violence is the last refuge of the incompetent. Polar Scope Align for iOS
  25. The Most Telling Quote.... by Applekid · · Score: 4, Insightful

    It won't be right, but it will look cool, and that's all that really matters when you're looking at something like that. We are not doing light transport simulation here, we are doing something that is supposed to look good. I'm the sort of guy that watches a movie and notices the compression artifacts in black, listens to music and hears mushy cymbals. I walk by a screen and notice dead pixels and that the input source isn't in the LCD's native resolution.

    Yet, when I play a game, I'll admit, I'm not playing glaring attention to these faults. The last thing that really bothered me in games was 16-bit color banding and I haven't seen any of that in, oh, like 3 or 4 years.

    The gamer side of me agrees with Carmack on things looking cool who cares if it's wrong, the geek side of me is angry and demands it be pixel-accurate.
    --
    More Twoson than Cupertino
    1. Re:The Most Telling Quote.... by theantipop · · Score: 1

      He's not saying it will never be possible. What that quote was referring to is that it shouldn't be the primary focus of the coming generations of graphics processing. With real limits to computing power you have to choose where to spend the resources. He wants them spent in near-infinite geometric and texture detail, not near-infinite light tracing. That's my take on his answer given limited development and zero graphics experience.

  26. Re:So, by c0p0n · · Score: 1

    There is no need to. He drives a tanker everywhere for a reason.

    --

    Your head a splode
  27. Re:So, by Warll · · Score: 0, Flamebait

    Sid Meier's first game came out eight years before Commander Keen, somehow I doubt this John was his influence. Some goes for Will Wright(6 years). Gabe Newell may have very well been influenced by John. Now if John Carmack is as legendary as /. is making him out to be, why isn't it John Carmack's Quake/Doom?

  28. 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.
  29. CUDA? Not today... by Kev+Vance · · Score: 1

    The direction that everybody is looking at for next generation, both console and eventual graphics card stuff, is a "sea of processors" model, typified by Larrabee or enhanced CUDA and things like that
    As I've pointed out on the NVIDIA forums, CUDA/OpenGL interoperability is totally broken from a game or video performance standpoint. Instead of being able to quickly shuffle graphics buffers between your CUDA kernel and your OpenGL graphics engine, you have to waste time and bus throughput copying them from the GPU to the host and back again!

    Whether CUDA or its ilk have any effect on AAA games remains to be seen, but I will be surprised if some novelty like GPU raytracing won't end up in an IGF winner.
    --
    F0 07 C7 C8
  30. Wolf3D by Nimey · · Score: 1, Interesting

    Interestingly, raycasting is what id used in Wolfenstein 3D, way back in 1992.

    http://en.wikipedia.org/wiki/Ray_casting

    --
    Hail Eris, full of mischief...

    E pluribus sanguinem
    1. Re:Wolf3D by Stormwatch · · Score: 1

      Ray casting != ray tracing

    2. Re:Wolf3D by Nimey · · Score: 1

      Well no shit, sugar. Did you even check that link or read the summary?

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    3. Re:Wolf3D by ampathee · · Score: 1

      It should be noted that raytracing and raycasting are different things.

      Raycasting is basically 3d-esque rendering of a 2d map - one ray is cast for every column on screen. Raytracing is the true 3d version - one ray per pixel (plus reflection rays, shadow rays, etc.).

      The point is, Raytracing is far more computationally expensive, and visually impressive, than raycasting.

    4. Re:Wolf3D by Nimey · · Score: 1

      I see you didn't read the summary either. I know this is Slashdot and nobody RTFAs, but you should at least RTFS before you post anything.

      The S is often wrong, but at least read that if you can't be bothered to RTFA.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    5. Re:Wolf3D by ampathee · · Score: 1

      Actually I did RTFA, which talks a lot about raytracing - hence my confusion later when the TFS had scrolled up past my vision.

      Anyway, mea culpa.

  31. While I agree with some by popeye44 · · Score: 1

    Of the points made here. I'll toss in my 2 pence.

    One of the things that seems to be missing from ID is the ability to make a truly immersive game. There's little doubt at least in my mind they certainly know how to make awesome environments. "Note that as soon as you shine a light on an item in Doom 3 it does light up nicely and looks good."

    What I think is that John is one hell of an engine developer and he's putting in his 2 pence as well. He may not be 100% correct but in the past he's been fairly accurate with some of his predictions "who's perfect?" and he'll likely be validated in some of this. As another user mentioned, When I drop a bomb on a building or blow it up internally that sucker better fall. This is what we've come to expect. Destructible environments, moving objects "I love plinking tin cans in HL2's engine" natural physics and the list goes on. However all of that must give way to the actual gameplay. All that glitters is not gold etc.

    Crysis is friggin badass looking but it's limited in depth. Call of duty 4 mixed with crysis engine would have me in fits. "don't get me wrong COD4 is good just not quite as good as others graphically"

    Carmack has the ability to do the environment but they seem to be resting on their laurels as far as game making goes. "ooo dark scary environment with random jumping demons/robots/aliens blah.."

    I played quake 4 for 2-3 hours.. and haven't went back. It held no surprises or new things to explore.

    I really hope to see a mix of the new technologies that make it easier for the storyteller to give us a great game.

    --
    Inane Comments are Generously Disregarded
  32. Re:An Irrelevant Hack by The+End+Of+Days · · Score: 1

    There are amazingly smart game and graphics engineers out there. Carmack is not one of them.

    I find it instructive that you aren't willing to log in to make this statement. I'm not calling him the best at any particular thing (cause I just don't know), but he certainly qualifies as amazingly smart.

  33. Re:So, by nschubach · · Score: 1

    I don't know... maybe he didn't feel the need to slap his name on the game just to get recognition? Your guess is as good as mine. But to completely skip over him from Sid/Will straight to Gabe is kind of obtuse.

    Even then that's a silly arguments. How many "Gabe Newell's Half-Life" or "Will Wright's Sim City" games do you know of? The only two people I'm aware of at this moment arrogant enough to label their games with their name are Sid and Richard Garriott (and we know how well that one went.)

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  34. Re:So, by nschubach · · Score: 1

    Your right, I was referencing mainly Newell. The other two were unfortunate inclusions.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  35. Because by TooMad · · Score: 0

    We are too busy making them look pretty. It is the same game as last year the gameplay is the same if not worse and you might if you are lucky have the same number of weapons. The only thing we added were polygons. But who cares? The previews in whatever mag/site you read looked pretty. Sometimes we might blind you with fancy things like branching stories. But, that is usually just black and white decisions like 'Burn Kittens' or save them. If you want a good game go for an indie game once in a while. We don't get to use pretty graphics as a cruch that way and might actually have to keep your attention with a game that is fun.

    1. Re:Because by bvimo · · Score: 1

      Try Nexuiz http://www.alientrap.org/nexuiz/ 'Nexuiz is a fast paced 3D deathmatch game project created online by a team of developers'

      --
      In either case, here at Microsoft, we feel standards are important. And we have fun, too. Doug Mahugh, Microsoft
  36. I'd agree, with a proviso. by jd · · Score: 2, Insightful
    I have argued many times, and will no doubt do so for many years hence, that there won't be one unique solution to this, that the quality possible using a full genuine ray-tracing and radiocity solution (ie: not just using shaders or other simple rendering techniques) conflicts with the requirements of fast action. The only sensible (IMAO) is to use a combination of methods, depending on rate of change. Where rate of change is below a critical threshold, then use full-blown ray-tracing (or perhaps cone-tracing) and radiosity. Because rays can be thrown at ever-finer angles, and because you can postpone multiple-generation light sources, you could even have relatively static images become progressively better. When change is too fast for ray-tracing, it's probably too fast for the eye to pick out the nuances, so downgrade the method. For mid-range rates of change, use a reasonably good but fast method of getting "good enough" results. For very high speeds, the eye certainly can't pick out details. Shaders would be quite good enough there.

    If you neglect the impact of mobile objects on diffuse reflections, you CAN pre-generate an entire radiosity map for a game, which is good because it's slow. However, it's an important addition as the "texture", "warmth" and "naturalness" of an image depend on diffuse reflections, not direct reflections.

    Ultimately, you need to consider diffuse reflections for all objects. There are a few ray-tracing techniques which, instead of assuming direct reflection only, define a distribution (usually some variant on Gaussian) over which the light is reflected. This isn't quite the same as cone-tracing - cone-tracing is generally a simplified form of this where the distributions are trivial and uniform. Wave-tracing is another method that can be used.

    As for what should be done, I'd rather see hardware engineers focus on providing primitives that can support what is needed both now and in the future, as hardware changes relatively slowly. That frees software engineers to develop the best methods they can, without forcing them to wait when they reach the limits of the method.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  37. Re:So, by Warll · · Score: 0

    I have a hard time including people on lists of people who come to mind when I've never heard of them. To answer my first question, I have since Wiki'd the topic, I never knew about him because I'm not an old school gamer. As per the Wikipedia article he does sound like a great guy and game dev, perhaps I will need to play some of his games soon.

  38. 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.

  39. WRT sparse voxel octree FTFA by not-enough-info · · Score: 1, Insightful

    The 'sparse voxel octree' he talks about is basically a new data structure that simplifies storage of the polygons. This would require support from hardware manufacturers and provide content producers a new format in which to encode complex geometries. Carmack theorizes that having geometry detail to the level that we now have in texture detail is the next gen graphics paradigm. Basically, sparse voxel octrees would be to polygon meshes what polygon meshes were to billboarded sprites.

    In all, Carmack hints towards massive detail for graphics and not much else. This is something he's always done in the past and has really seemed to obsess over. It's one of his greatest weaknesses as a trend-setter and industry leader. He did it before with the idtech 4 and it let HL2 steal the show with more thoughtful physics integration and charater AI. Nicer looking soft shadows, it seems, wasn't enough.

    Id is great in that they push the industry forward in terms of graphics, but graphics only go so far. When it comes to realism, people want more nature in 3D. This means better physics, and more intuitive content building tools. Screenshots are great, but after you see it moving, that's when you make your final judgement.

    --
    ---k--
    </stupid>
    1. Re:WRT sparse voxel octree FTFA by Have+Blue · · Score: 1

      Doom 3/Id Tech 4 didn't do soft shadows. It also didn't do any global illumination at all, which was a step back from the previous generation of engines (which used precomputed lightmaps). Shadow volumes turned out to be a dead end; buffers are the prevalent method today.

    2. Re:WRT sparse voxel octree FTFA by pavon · · Score: 3, Insightful

      As John mentioned in his post here, these are not new ideas. I remember playing around with raytracing/casting of sparse-octree voxels for fun almost ten years ago, and as a quick
      search of the literature shows, I was quite late to the game :) What is cool is that he thinks that the gaming world is ready for them, and that he is going to try and push the hardware folks to make it happen.

      One of the most fundamental properties of voxmaps is that the geometry and texture are defined hand-in-hand - they have the same resolution, and every point in the geometry has a unique texture. If you want this, then there are data structures like sparse octrees that store the data quite efficiently.

      However, decoupling the geometry and texture opens the door for all sorts of tricks usefull in limited memory situations. It was these tricks that made realtime polygon graphics possible in the past. Things like low resolution polygons with high resolution texture maps, tiled/reused texture maps and layered decals, are all ways to cut down on the amount of data needed while still creating a decent looking scene.

      However, as the amount of memory increases, these tricks are less necessary and less desirable. Artists want to be able to paint any part of a scene any way they want - and this is exactly what John has done in id Tech 5, their newest engine. After doing so he did some experimentation and found that storing this data in a sparse octree is even more memory efficient than the way he is doing it now, using pixmaps and polygons. If this approach were to work, artists would then have the same freedom in editing the geometry of the world as they do now with textures - the entire world would have geometry at the resolution of current texture maps with zero additional memory costs. That would be awesome.

      For this to work though, you need to be able to render the data efficiently. Raycasting of sparse octrees is one of those embarrassingly parallel problems, and thus hardware acceleration for it is relatively easy. But they don't exist due to lack of market, and unfortunately graphics cards are not well suited for this, IIRC because GPUs mostly accelerate floating point calculations, while descending the sparse-octree uses a lot of integer bit-twiddling (I might be wrong about the reasons here). But with the memory-usage tradeoffs shifting in favor of voxmaps, GPU vendors looking to make their products better suited for general purpose High Performace Computing, and John Carmack pushing for it, this may be an idea whose time has come.

    3. Re:WRT sparse voxel octree FTFA by not-enough-info · · Score: 1

      Id Tech 4 did, in fact, have soft shadow support. This was accomplished by projecting multiple lights (basically faking it). It wasn't turned on in Doom 3 because of performance issues as well as aesthetics. It was in the tech demos, not in the game, for obvious reasons.

      --
      ---k--
      </stupid>
  40. Re:Anyone betting on if Ray Tracing will give id.. by wild_berry · · Score: 3, Funny

    In 1996, Quake set the fashion for brown shooters. In 2004, for Doom 3, black was the new brown.

  41. Re:So, by PeelBoy · · Score: 1

    Wait so the fact that you can name 2 people who have games that pre-date John's means he's not legendary? He's the father of 3D/FPS gaming as we know it. He's every bit as legendary as Sid or Will. He's done as much if not more for 3D gaming as they have for their genre.

  42. Re:How about.... by Rod+Beauvex · · Score: 0

    I wasn't refering to him specifically.

  43. Re:So, by Warll · · Score: 0

    I never said he wasn't, I asked why I had never heard of him.

  44. Re:So, by Surt · · Score: 1

    I'd venture that a poll of the gaming public would only put Sid Meier higher on the list of recognizable names, and only because he slaps his name all over everything because he thinks he's cooler than all the people who really make his games. And of the remaining two, neither is nearly as directly responsible for the advancement of the field as is Carmack. Heck, Gabe got his start by building Halflife:

    http://en.wikipedia.org/wiki/Half-Life

    Half-Life is a science fiction first-person shooter computer game developed by Valve Software, first released by Sierra Studios on November 19, 1998. Designed for PCs running Microsoft Windows,[1] the game uses a heavily modified version of the Quake engine, called GoldSrc.[4]

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  45. Carmack endorsed the Intel 740 graphics chip by stimpleton · · Score: 1

    Carmack can also be wrong, and I have a long memory.

    I still remember Quake 2 and buying my own first PC and specing it based on his opinion.

    He spoke well of the Intel i740. Which turned out to be a dog compared to the Voodoo2.

    While, of course, he speaks of the future here, he got this wrong. Very wrong.

    From his .plan file in 1998:

    Intel i740
    ----------
    Good throughput, good fillrate, good quality, good features. A very competent chip. I wish intel great success with the 740. I think that it firmly establishes the baseline that other companies (especially the ones that didn't even make this list) will be forced to come up to. Voodoo rendering quality, better than voodoo1 performance, good 3D on a desktop integration, and all textures come from AGP memory so there is no texture swapping at all. Lack of 24 bit rendering is the only negative of any kind I can think of. Their current MCD OpenGL on NT runs quake 2 pretty well. I have seen their ICD driver on '95 running quake 2, and it seems to be progressing well. The chip has the potential to outperform voodoo 1 across the board, but 3DFX has more highly tuned drivers right now, giving it a performance edge. I expect intel will get the performance up before releasing the ICD. It is worth mentioning that of all the drivers we have tested, intel's MCD was the only driver that did absolutely everything flawlessly. I hope that their ICD has a similar level of quality (it's a MUCH bigger job). An 8mb i740 will be a very good setup for 3D development work.

    --

    In post Patriot Act America, the library books scan you.
    1. Re:Carmack endorsed the Intel 740 graphics chip by ferat · · Score: 1

      I don't see how he was wrong. He said it should perform as well or better than the Voodoo 1, but was currently slower than the voodoo 1 due to driver maturity.

      Why is it a great shock that the voodoo 2 was far superior to the voodoo 1?

    2. Re:Carmack endorsed the Intel 740 graphics chip by edxwelch · · Score: 0, Troll

      Interestingly he also says the xbox is better than PS3... wonder if he accepts "gifts" for endorsing these products

    3. Re:Carmack endorsed the Intel 740 graphics chip by Nimey · · Score: 1

      As a former i740 owner, I can tell you that their drivers were shit. OpenGL was /ok/, but Direct3D was purely awful. I remember playing Half-Life with this card and a PII/350, and when I went underwater while in D3D mode the display became completely opaque and slowed way down. OpenGL mode had iffy image quality, but at least it did transparency properly.

      Their drivers were so bad that a farkin' Trident 9880 card was a (slight) step up.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    4. Re:Carmack endorsed the Intel 740 graphics chip by nuzak · · Score: 1

      Carmack is a developer, ask any developer what they think of programming for the PS3. You're just some random idiot who thinks he's got an angle.

      --
      Done with slashdot, done with nerds, getting a life.
    5. Re:Carmack endorsed the Intel 740 graphics chip by Anonymous Coward · · Score: 0

      You might have a point if you had made a joke.

    6. Re:Carmack endorsed the Intel 740 graphics chip by RiotingPacifist · · Score: 1

      but he develops openGL games, this is like blaming an F1 driver for endorsing wheels that don't suit your motorbike.

      --
      IranAir Flight 655 never forget!
    7. Re:Carmack endorsed the Intel 740 graphics chip by Nimey · · Score: 1

      Oy, this is my day for replying to people with comprehension problems. I'm not excoriating Carmack, I'm agreeing that Intel's drivers for the 740 were shit and providing examples.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
  46. Re:So, by PeelBoy · · Score: 1

    That's hard to answer. If you read much gaming news in the mid to late 90's or early 2000's it would be almost impossible to not hear about him. Lately he's gotten a lot less press it seems... at least when compared to people like Will Wright. Probably because id hasn't made a game worth a damn in the past few years.

  47. Re:So, by Winckle · · Score: 2, Informative

    Interestingly, at least with American McGee, he gave an interview with GFW podcast, where he said that it was the publisher who wanted to put his name on the box, to create brand recognition, not the other way around.

  48. Re:So, by Anonymous Coward · · Score: 0

    None of the rest of us care why you've never heard of him.

  49. Re:So, by Surt · · Score: 1

    Because he's not the kind of douchebag who puts his name on a collaborative effort?

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  50. Re:So, by GalacticLordXenu · · Score: 2, Insightful

    Honest answer? You're a noob. John Carmack is extremely well-known.

  51. Re:So, by Stormwatch · · Score: 1

    After actually playing Daikatana, I can honestly say... all the bashing is deserved. It is awful.

  52. Re:So, by Warll · · Score: 1, Funny

    I am inclined to agree, provided the right term is use and in my case that would be Newbie.

  53. Re:Carmack is yesterday's news by Broken+scope · · Score: 0

    finally someone understands.

    --
    You mad
  54. Re:How about.... by Anonymous Coward · · Score: 0

    Wii
    srsly

  55. primary expert? by j1m+5n0w · · Score: 1, Interesting

    Carmack is knowledgeable of 3D rendering in general, but that doesn't mean he's an expert on ray tracing specifically, and I found nothing in the article to indicate that he is. He appears to be unaware of a large body of research into the acceleration structures and optimization techniques commonly employed by modern ray tracers (Kd-trees, Bounding-interval heirarchies, MLRTA, packet tracing). He correctly claims that ray tracing is not used much by movie studios, but fails to identify one of the main reasons why this is so: ray tracing is not a memory parallel algorithm, and therefore does not perform well rendering scenes that can't fit in main memory on any one computer (citation). This isn't an issue at all for games. Carmack doesn't seem to be aware of the real drawbacks of ray-tracing either (other than a vague notion that it's "really slow", probably based on naive implementations of an algorithm that's been around for almost thirty years), such as the cost of re-building the acceleration structure when something in the scene moves. Can his sparse voxel octree data structure be updated or re-sorted quickly?

    I think the parent poster was correct to call attention to the emperor's apparent lack of clothes. Just because Carmack has had a huge influence on interactive 3D gaming doesn't mean his statements should be accepted without scrutiny.

    1. Re:primary expert? by DragonWriter · · Score: 1

      He correctly claims that ray tracing is not used much by movie studios, but fails to identify one of the main reasons why this is so: ray tracing is not a memory parallel algorithm, and therefore does not perform well rendering scenes that can't fit in main memory on any one computer (citation [pixar.com]). This isn't an issue at all for games.


      I think that goes too far: if the algorithm isn't memory parallel, then the multiple cores that are working on it in parallel have to access shared memory with the accompanying coordination issues. This isn't problematic in the sense that it doesn't work: it certainly works. But it does result in sublinear speedup whereas a memory parallel algorithm could conceptually see a linear speedup. So there is some reason to prefer a memory parallel algorithm (all other things being equal) if you can find one.

      OTOH, Carmack himself points out in his discussion of multi-GPU systems that modern rasterization engines have enough coupling (i.e., they aren't in practice memory parallel) that they don't experience linear speedup in most real game situations with the kind of effects people have come to expect, though they can in simple, ideal cases.
    2. Re:primary expert? by j1m+5n0w · · Score: 1

      In retrospect I was perhaps a little too harsh, given that it's just an interview and not an academic paper. However, I don't think that anyone should be given a free ride, either. Rasterization algorithms have some things in common with ray tracing, but a thorough understanding of rasterization does not imply a thorough understanding of ray tracing. Similarly, I would not automatically consider Henry Ford an expert on airplanes, nor Albert Einstein an expert on anthropology, unless I had convincing evidence that it was so. As far as I'm concerned, John Carmack is just another ray tracing hobbyist, and I would hold him to the same standard as any other ray tracing hobbyist: he may have a breakthrough algorithm to make real-time ray traced games happen a bit sooner than they would otherwise, but maybe not. And if he thinks he does, he'll have to convince me of that with a clear argument (and that includes comparing his ideas to the state of the art), or a working demo.

      There's a lot of research that goes on in the background that most people don't know about because it doesn't (currently) have much influence on the gaming industry. I don't know if Carmack has kept up with the latest in academic ray tracing research or not, but I'm not going to assume that he has just because he's a well-known game developer; it's quite common for ideas that first show up in academia to take ten or twenty years before they reach the attention of mainstream industry.

  56. Re:I enjoyed the progression of graphics pictures by Anonymous Coward · · Score: 0

    I can see big black pixels all over it :(

  57. Re:So, by mcvos · · Score: 1

    He is as legendery as game programmers get. I guess that there are some people that wouldn't know a "legendary game programmer" but it is usually those that hang out in cool places, not /.

    Didn't John Carmack post here some time?

  58. Re:So, by Anonymous+Psychopath · · Score: 1

    Sid Meier's first game came out eight years before Commander Keen, somehow I doubt this John was his influence. Some goes for Will Wright(6 years). Gabe Newell may have very well been influenced by John. Now if John Carmack is as legendary as /. is making him out to be, why isn't it John Carmack's Quake/Doom? First, those other games were not First Person Shooters. Sure, lots and lots of games existing before Carmack, but the world of FPS owes a lot to him. He broke new ground and opened up a whole new genre.

    Not knowing who Carmack is isn't stupid. Just ignorant.
    --

    Eagles may soar, but weasels don't get sucked into jet engines.

  59. Offtopic ? by Eth1csGrad1ent · · Score: 1

    How is this "Offtopic" ? He has a point to make about ray-tracing...on an article about the viabilty of ray tracing. Moderators: whether you agree with his point or not is irrelevant.

  60. Amateur psychology? by argent · · Score: 1

    I'm getting kind of tired of amateur psychologists (if you're a professional psychologist I apologize in advance for inadvertently denigrating your professional status) interpreting someone's brief comment, followed by a clarification, as backpedalling, flanneling, or otherwise trying to rewrite history. It's too easy a shot.

    No, I'm not the OP's sock puppet.

    I'm mostly reacting to some random mod's idea that that was a "+1 Interesting" post. :p

  61. Re:So, by LarsG · · Score: 1
    --
    If J.K.R wrote Windows: Puteulanus fenestra mortalis!
  62. Paging Yossarian... by argent · · Score: 1

    That's a bit of a catch-22. I wonder what it will take to get nVidia interested in serious raytracing hardware, when it'll take serious raytracing hardware (I'm talking about something like SaarCOR fabbed in silicon in 2008, instead of an FPGA in 2005) to get game developers interested in it?

  63. Terrible editing in TFA by cecom · · Score: 1

    Mod me down if you care, bit I really wish that PC Perspective had edited the transcript just a little (or more). This is just unacceptable. Carmack is speaking with half sentences, etc, which is OK if you are listening to him, but is really absurdly stupid if you have to read it in print.

    Standards of written text have really gone down on the web.

    1. Re:Terrible editing in TFA by jamesh · · Score: 1

      Standards of written text have really gone down on the web.

      o rly?
  64. Voxels/texels by Khyber · · Score: 1

    Didn't some company, years ago, develop a card specifically to handle voxels and texels? It was a 512MB card, I think it was made by 3DLabs, or Mitsubishi Electronics for medical imaging, I can't remember for the life of me.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  65. Re:So, by DragonWriter · · Score: 1

    I'd venture that a poll of the gaming public would only put Sid Meier higher on the list of recognizable names, and only because he slaps his name all over everything because he thinks he's cooler than all the people who really make his games.


    I don't think Sid did it, I think the publishers did it because his name was and is, even if he's not "cooler" than every other developer, extremely well-known in the target market of those games when they started doing it, and they wanted to emphasize the connection of those games to him. That being said, I'd bet that Will Wright would outscore even Sid, even without his name being plastered over everything he is involved in.

    Then again, neither Sid Meier nor Will Wright works in the same kind of game that Carmack is known for.
  66. memory parallelism in ray tracing by j1m+5n0w · · Score: 1

    I think that goes too far: if the algorithm isn't memory parallel, then the multiple cores that are working on it in parallel have to access shared memory with the accompanying coordination issues. This isn't problematic in the sense that it doesn't work: it certainly works. But it does result in sublinear speedup whereas a memory parallel algorithm could conceptually see a linear speedup. So there is some reason to prefer a memory parallel algorithm (all other things being equal) if you can find one.

    So the thing that isn't memory parallel is the scene itself; you can't stick half the scene on one computer, half the scene on another computer, and then merge the results and expect a 2x speedup (but you can do that with scanline algorithms, which is one reason why they're so popular). A ray tracer would have to have a separate copy of the scene on every machine.

    But, you can have 2 or 4 or 8 CPU cores all reading from the same scene data sitting in shared memory; these are all reads, not writes, so there aren't big coordination issues like cache invalidations and the like. As far as I know, scaling on a single machine is pretty linear as long as the threading implementation is sane. I don't know much about GPUs, they might not be set to efficiently run tasks in parallel that do unpredictable memory reads.

  67. Re:So, by 2TecTom · · Score: 1

    "when legendary game programmer John Carmack speaks," Why have I never heard of him?

    Me neither! What, with all these stroggs running around, who's got time for gossip?

    ~ praise JC and pls pass over the BFG ;~|

    --
    Words to men, as air to birds.
  68. Re:So, by Trogre · · Score: 1

    Uhh, you might want to think twice about putting your banking password on /.

    Now I'm off to check your balance:

    Let's see... 't'.. then an 'o', then another 'o'...

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  69. Re:So, by Trogre · · Score: 1

    What custard square modded this down?

    Parent is right.

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  70. Re:So, by Anonymous Coward · · Score: 0

    Not that I don't agree with the rest of your post, but I think you forgot your capital and one of your states. So yes, you do have a George Washington's Washington.

  71. *whoosh* by Anonymous Coward · · Score: 0, Insightful

    This article...

    ^

    ^

    ^

    ^ ...my head

  72. Senor Carmack, one question by __aailob1448 · · Score: 1

    I was just wondering if your approach has any impact of physics at all or if we're talking about 2 independant layers of abstraction.

    Pleasant surprise to see you comment on slashdot. Now go and make the Unreal 3 engine look bad :)

    1. Re:Senor Carmack, one question by John+Carmack · · Score: 4, Informative

      In our current generation codebase we have moved to completely separate representations for rendering and physics, and I expect that to continue in the future. The requirements are different enough to merit different internal storage.

      John Carmack

  73. It's do-able by mbessey · · Score: 2, Insightful

    The raytracing applications used for optical system design can do wavefront analysis, as well as wavelength-based dispersion measurements. Calculating the phase of a wavefront at a surface is basically just a distance measurement (taking into account refraction).

    It's just a bit more work, and would be unnecessary for most "realistic" scenes, which is why raytracers designed to produce pretty pictures usually skip those features.

    I see phase-based optical effects fairly rarely out in the real world (as opposed to in a lab), and I suspect most folks would have never even noticed them.

  74. No no no by Anonymous Coward · · Score: 0

    You're not supposed to respond to incredibly obtuse and ignorant comments with anything other than...(please mods, let us all know?)

  75. Re:How about.... by freedumb2000 · · Score: 1

    That's why I stopped playing id's games when John Romero left. He was(is?) an amazing level designer. In my opinion that is even more important to enjoying a game than great gfx or physics. It's not that Quake's levels sucked, but they weren't anything special either.

  76. This is GOOD for physics!! by TerranFury · · Score: 1

    What Carmack is advocating actually sounds great for dynamic environments. In fact, one of the reasons octrees became popular was that they made it easier to deal with dynamic objects (as compared with the way BSP trees were being used at the time). It wasn't the tree-ness of BSP trees that was the problem; it was their strict dependence on world geometry. The best evidence I can give for this is the fact that BSP trees that don't depend on the details of the world geometry -- which we call KD trees -- are very popular; they fill roughly the same niche as octrees but are slightly more flexible. I'd be truly surprised if Katamari didn't use some sort of heirarchical data structure, in fact, precisely so it can do all its dynamic physics at a reasonable speed.

    Anyway... what are the physics benefits of a voxel approach? For starters, deformable geometry gets very, very easy. You don't need to screw around doing a bunch of CSG on convex polyhedra; you just set a bunch of voxels to zero and that's it. I might add that your "just have a bunch of models" approach is very poorly suited for dynamic geometry, because they only define surfaces not solids, whereas voxels provide a very natural way to do that.

    Want clouds? Steam? Realistic water that splashes about? Also, best done with voxels.

    With a voxel-based approach, you can conceivably integrate with the graphics some finite-element-model simulation, even. This is easily parallelizable and fits naturally with the voxel world representation. That is, you could conceivably have physically-accurate elastic deformation of environments, for instance -- or run the Navier-Stokes equations to see real turbulent flow around naval units in a strategy game.

    Collision detection, as other posters have noted, also gets very easy. Forget nasty intersection code; just have the hardware do a bitwise AND between two voxel objects and OR all those bits together! And so on.

    Basically, voxels are ideal for physics, and the structure Carmack is proposing to store the voxels in doesn't sound very static at all.

    (I'll also note that what Carmack is advancing is an old fantasy of many graphics programmers. What's notable isn't the idea itself -- it's old -- but that Carmack thinks it might soon be feasible. And that is exciting.)

  77. Re:So, by Machtyn · · Score: 1

    Well, there was an American McGee's Alice, but that wasn't as big of a seller as he had hoped.

    For the uninitiated in gaming history (looking at you Waril) American McGee was an id Software employee for a long time. I think he was there from the beginning of Wolfenstein. If not, he was there by Doom.

    I realize you were able to pick out some names from the history of gaming. And your list is good. I say John Carmack is on the same level as Will Wright and Sid Meier. As great and revolutionary as Half-Life and everything that has come from Valve Software, Gabe Newell owe's a lot to John C. (and subsequently, the creators of Counter-strike).

    Pedigree of Quake

  78. sparse voxel octrees are new? by glyph42 · · Score: 1

    People have been using octrees for ray tracing for decades. Sparse ones. For voxel geometry as well as other primitives. They compare poorly to more recent methods. Structures like this have already been implemented on GPU, with some success, but GPUs are going to need some more changes before it gets really good. Carmack is going to have to be more specific in order to not be on crack.

    --
    Music speeds up when you yawn, but does not change pitch.
  79. acceleration structures, etc... by j1m+5n0w · · Score: 2, Interesting

    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.

    So, it's like a variable-resolution three-dimensional bitmap? I can see how you might reduce memory consumption that way, but it would also reduce the fidelity of the rendered image. I'd be curious to know if the memory-quality tradeoff is better than if you were to just (intelligently) simplify the triangle mesh. It's an interesting idea at least.

    Perhaps part of the misunderstanding of the article can be attributed to this quote:

    But, I do think that there is a very strong possibility as we move towards next generation technologies for a ray tracing architecture that uses a specific data structure; rather than just taking triangles like everybody uses and tracing rays against them and being really, really expensive.

    Which would seem to imply that your approach is not really, really expensive, which would make sense if you were comparing with a ray tracer with no acceleration structure at all, and if by "expensive" we assume that you mean "processor intensive" rather than "memory intensive". Your sparse voxel octree approach, if I am understanding correctly, gets rid of a lot of ray-primitive intersections. However, those tend not to be the most CPU-expensive part of ray tracing; rather, it's the acceleration structure lookups where most of the time is spent, so I wouldn't expect your approach to be vastly superior to any other real-time ray tracer.

    (Perhaps my criticism in another branch of this thread comes across a little too harsh; if so, I apologize. I thought that DragonWriter was being unfairly criticized for treating the article with the same degree of skepticism as if it had been written by someone other than John Carmack, and was perhaps a little over-enthusiastic in backing up his assessment of the article.)

    1. Re:acceleration structures, etc... by John+Carmack · · Score: 4, Informative

      Tracing into an SVO structure can be done with almost a Bresenham algorithm, and when you reach whatever depth of descent you want (a critical factor, you aren't going all the way to final detail on every trace), you pop out whatever data is stored there (probably some vector quantized BRDF sort of thingy) and run a "fragment program" on it.

      The data sets for a game world represented like this would be massive, but it is intrinsically well suited for streaming, even over the internet, which may well be the dominant media distribution channel in the timeframe we are looking at.

      John Carmack

    2. Re:acceleration structures, etc... by DamnStupidElf · · Score: 1

      This post answered several of the questions I was initially going to ask, especially about the representation of the data in the octree. It sounds like level of detail would be accomplished by storing an approximation of the subspaces in each level of the octree. I'm guessing that by keeping transparency information in each subspace of the octree, a stack of volumetric effects could be created for each ray and applied after the ray hits an opaque surface. Transparent surfaces could support refraction as well, although that could limit the ability of the engine to render normal polygons over the raytraced scene.

      Would a tree with a higher degree of branching would be more efficient? It would reduce the maximum depth of the tree, but would introduce more empty subspaces, so it would depend on whether it is faster to iterate over many empty child volumes of the same size versus descending down the tree at each step.

    3. Re:acceleration structures, etc... by j1m+5n0w · · Score: 1

      Ok, I can see the benefit of being able to bail out early in cases where geometry is far away or the full resolution hasn't been loaded in from disk or network or wherever it comes from. I can also see the benefit of storing the texture and geometry in the same data structure. It sound kind of like roam but in three dimensions. I'm not sure if you'd have problems with discontinuities between neighboring voxels of different sizes.

      I'm not very knowledgeable of volume rendering, but this seems to be pretty similar, though they only tested the algorithm on a very small dataset. I shall look forward to seeing this sort of thing in a modern game.

    4. Re:acceleration structures, etc... by j1m+5n0w · · Score: 1

      Would a tree with a higher degree of branching would be more efficient? It would reduce the maximum depth of the tree, but would introduce more empty subspaces, so it would depend on whether it is faster to iterate over many empty child volumes of the same size versus descending down the tree at each step.

      I was wondering the opposite; octrees have largely been superseded by kd-trees (basically, axis aligned binary space partition trees) for a lot of ray tracing tasks. I suppose the octree is convenient since you don't need to store an axis or offset, and you might be able to avoid a bit of math if all the voxels are perfect cubes. kd-trees can be stored pretty compactly, though. It's hard to know which is better without running benchmarks. By a higher degree of branching, do you mean like 27-branch (3x3x3) or 64-branch (4x4x4) nodes? There would be a lot of wasted space if most of those cells were empty.

    5. Re:acceleration structures, etc... by BinarySplit · · Score: 1

      Given that SVO would be a great structure for real-time deformation of models, can we expect to be able to blow dynamically generated chunks out of the flesh of our next non-human adversaries?

      I can see SVO, with scalable voxelized normal maps, as being the biggest breakthrough in global illumination since the lightmap, but have you found a way around the issue of matrix blending? Voxels can't be transformed and the tracing ray must stay linear to be efficient, so it would be relatively difficult to implement an animated model without requiring a laggy cluster of inter-bone transform regions at every joint...

  80. Re:An Irrelevant Hack by Breakfast+Pants · · Score: 1

    Quake 3 came out in the late 90's.

    --

    --

    WHO ATE MY BREAKFAST PANTS?
  81. What about molecule octrees? by heroine · · Score: 1

    Interesting he can still spit out some modern sounding 3D jargon despite focusing on Armadillo Aerospace.

    Years ago, it definitely looked like everything was moving towards a raytraced particle system. When particle systems got big, suddenly every movie had snowflakes, flower pedals, & shattering glass climaxes. Naturally the particle system effects should merge with the polygon rendering & everything should be based on particles.

    He can say voxel octrees are the way to store the data, but he can't seem to explain why octrees are faster to raytrace than triangles.

    1. Re:What about molecule octrees? by BiggerBoat · · Score: 1

      Interesting he can still spit out some modern sounding 3D jargon despite focusing on Armadillo Aerospace.
      Considering he still only spends, for the most part, 2 days a week on Armadillo, I don't find it too surprising.
  82. Re:So, by BiggerBoat · · Score: 1

    Actually, according to the book Masters of Doom, American joined id shortly after the original Doom's release.

  83. Refraction Skeletons by Spy+Hunter · · Score: 1

    Seems to me the biggest problem with the sparse voxel octree idea is moving objects and characters. Your mention of "refraction skeletons" interested me; it sounds like an idea I was thinking about but haven't seen implemented anywhere else (and you seem to have just coined the term "refraction skeletons" in this article; there are zero other results on Google). Could you elaborate on how refraction skeletons might work and why you think a doing hybrid renderer just for characters would be preferable despite the drawbacks?

    --
    main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  84. Re:So, by Anonymous Coward · · Score: 0

    How old are you?

    You CANNOT call yourself a gamer and not know who John Carmack is.

  85. No, the beam speed must be lowered by GameboyRMH · · Score: 1

    No, that would cause a tear in the space-time continuum, unless the speed of the flashlight's beam is less than C. One popular hypothesis is that installing Vista on the flashlight could slow the beam considerably, but the research involved would be costly.

    --
    "When information is power, privacy is freedom" - Jah-Wren Ryel
  86. Article from 1993 on sparse voxel octrees by master_p · · Score: 1

    I do not know if it's a new data structure or not, but while I was searching the definition of "sparse voxel octrees" in order to understand what is the article about, I hit this article from 1993 that speaks about how octrees are one of the best ways to represent spatial data for 3d rendering applications:

    Volume Graphics

    I have the impression that sparse voxel octrees is not a new data structure at all, but it has been neglected by the industry because of technological limitations. Now that these issues are resolved, perhaps the next step in 3d graphics are sparse voxel octrees.

  87. Re:So, by shutdown+-p+now · · Score: 1

    The original Half-life used a very heavily modified Quake engine, with some backporting from Q2. A better example of a game which used the original engine would be Hexen 2.

  88. 20 years of voxel octrees for ray tracing by m0llusk · · Score: 1

    From the article: John does see ray tracing useful for is a very specific data model he has created called "sparse voxel octrees" that allow him to store immense amounts of data in a fashion that is easily accessed using ray tracing methods.

    Using voxel octrees for ray tracing was talked about quite a bit at SIGGRAPH '88 (http://tog.acm.org/resources/RTNews/html/rtnews9a.html) which makes that specific application octrees at least twenty years old. This kind of voxel modeling is older even than that. Being a fanboy isn't necessarily a bad thing, but the credit for such useful inventions should go where it is due.

  89. Re:So, by oneiron · · Score: 1

    The original? No, it goes much deeper... The Source Engine is nothing but a continuation of Valve's modifications to Quake engine. Sure, there's probably not a single line of Quake code left, but it's still just a metamorphosis.

  90. Re:So, by Surt · · Score: 1

    I'm pretty sure it requires at least his acquiescence, in contract if nothing else. Choosing to be an ass to make money is still a choice, and not one i'm inclined to offer any respect once your past earning your basic necessities.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  91. It will take 76 seconds! by Jaxoreth · · Score: 1

    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 The original Wolfenstein? What kind of box did you have, a VIC-20?
    --
    In general, it is safe and legal to kill your children. -- POSIX Programmer's Guide
    1. Re:It will take 76 seconds! by omeomi · · Score: 1

      The original Wolfenstein 3D.