Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

[ Create a new account ]

Carmack Speaks On Ray Tracing, Future id Engines

Posted by Zonk on Wed Mar 12, 2008 04:03 PM
from the how-can-you-not-listen-to-the-carmack dept.
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."

Related Stories

[+] Ray Tracing for Gaming Explored 266 comments
Vigile brings us a follow-up to a discussion we had recently about efforts to make ray tracing a reality for video games. Daniel Pohl, a research scientist at Intel, takes us through the nuts and bolts of how ray tracing works, and he talks about how games such as Portal can benefit from this technology. Pohl also touches on the difficulty in mixing ray tracing with current methods of rendering. Quoting: "How will ray tracing for games hit the market? Many people expect it to be a smooth transition - raster only to raster plus ray tracing combined, transitioning to completely ray traced eventually. They think that in the early stages, most of the image would be still rasterized and ray tracing would be used sparingly, only in some small areas such as on a reflecting sphere. It is a nice thought and reflects what has happened so far in the development of graphics cards. The only problem is: Technically it makes no sense."
[+] Mobile: Intel Researchers Consider Ray-Tracing for Mobile Devices 120 comments
An anonymous reader points out an Intel blog discussing the feasibility of Ray-Tracing on mobile hardware. The required processing power is reduced enough by the lower resolution on these devices that they could realistically run Ray-Traced games. We've discussed the basics of Ray-Tracing in the past. Quoting: "Moore's Law works in favor of Ray-Tracing, because it assures us that computers will get faster - much faster - while monitor resolutions will grow at a much slower pace. As computational capabilities outgrow computational requirements, the quality of rendering Ray-Tracing in real time will improve, and developers will have an opportunity to do more than ever before. We believe that with Ray-Tracing, developers will have an opportunity to deliver more content in less time, because when you render things in a physically correct environment, you can achieve high levels of quality very quickly, and with an engine that is scalable from the Ultra-Mobile to the Ultra-Powerful, Ray-Tracing may become a very popular technology in the upcoming years."
[+] NVIDIA Doubts Ray Tracing Is the Future of Games 198 comments
SizeWise writes "After Intel's prominent work in ray tracing in the both the desktop and mobile spaces, many gamers might be thinking that the move to ray-tracing engines is inevitable. NVIDIA's Chief Scientist, Dr. David Kirk, thinks otherwise as revealed in this interview on rasterization and ray tracing. Kirk counters many of Intel's claims of ray tracing's superiority, such as the inherent benefit to polygon complexity, while pointing out areas where ray-tracing engines would falter, such as basic antialiasing. The interview concludes with discussions on mixing the two rendering technologies and whether NVIDIA hardware can efficiently handle ray tracing calculations as well."
[+] Crytek Bashes Intel's Ray Tracing Plans 151 comments
Vigile writes "Despite all good intentions, Intel continues to see a lot of its work on ray tracing countered not only by their competition, as you'd expect, but also by the very developers that Intel is going to depend on for success in the gaming market. The first major developer to speak on the Intel Larrabee and ray tracing debate was id Software's John Carmack, who basically said that Intel's current plans weren't likely to be implemented soon or ever. This time Cevat Yerli, one of the Crytek developers responsible for the graphically impressive titles Far Cry and Crysis, sees at least 3-5 more years of pure rasterization technology before moving to a hybrid rendering compromise. Intel has previously eschewed the idea of mixed rendering, but with more and more developers chiming in for it, it's likely where gaming will move."
[+] Technology: Larrabee Team Is Focused On Rasterization 87 comments
Vigile writes "Tom Forsyth, a well respected developer inside Intel's Larrabee project, has spoken to dispel rumors that the Larrabee architecture is ignoring rasterization, and in fact claims that the new GPU will perform very well with current DirectX and OpenGL titles. The recent debate between rasterization and ray tracing in the world of PC games has really been culminating around the pending arrival of Intel's discrete Larrabee GPU technology. Game industry luminaries like John Carmack, Tim Sweeney and Cevat Yerli have chimed in on the discussion saying that ray tracing being accepted as the primary rendering method for games is unlikely in the next five years."
[+] Students Evaluate Ray Tracing From Developers' Side 31 comments
Vigile writes "Much has been said about ray tracing for gaming in recent weeks: luminaries like John Carmack, Cevat Yerli and NVIDIA's David Kirk have already placed their flags in the ground but what about developers that have actually worked on fully ray traced games? PC Perspective discusses the benefits and problems in art creation, programming and design on a ray traced game engine with a group of students working on two separate projects. These are not AAA-class titles but they do offer some great insights for anyone considering the ray tracing and rasterization debate."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login
Loading... please wait.
  • by Ferzerp (83619) on Wednesday March 12, @04:07PM (#22732056)
    It as if hundreds of ray tracing fanboys cried out at once, and were silenced.
    • by AmaDaden (794446) on Wednesday March 12, @04:09PM (#22732082)
      Ray Tracing has a place. New high speed FPS games are not it.
        • 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 [wikipedia.org] is a more realistic technique which simulates light more accurately.

          Tim.
            • by Goaway (82658) on Wednesday March 12, @05:40PM (#22733042) Homepage
              "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.
        • 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?

          • by DragonWriter (970822) on Wednesday March 12, @06:39PM (#22733602)

            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.

            • by ultranova (717540) on Wednesday March 12, @07:12PM (#22733918)

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

  • by Telvin_3d (855514) on Wednesday March 12, @04:23PM (#22732254)
    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.
    • by ghostlibrary (450718) on Wednesday March 12, @04:59PM (#22732626) Homepage Journal
      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.
      • by Chandon Seldon (43083) on Wednesday March 12, @05:12PM (#22732776) Homepage

        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.

  • by goatpunch (668594) on Wednesday March 12, @05:01PM (#22732654)
    In other news, all games will now consist of reflective spheres moving around on checkerboards...
  • by Applekid (993327) on Wednesday March 12, @05:08PM (#22732732)

    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.
    • Re:So, (Score:5, Funny)

      by BigJClark (1226554) on Wednesday March 12, @04:13PM (#22732140)

      Don't feel bad, he has probably never heard of you either.
        • Re:So, (Score:5, Informative)

          by nschubach (922175) on Wednesday March 12, @04:54PM (#22732558)
          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.
            • Re:So, (Score:5, Informative)

              by nschubach (922175) on Wednesday March 12, @05:11PM (#22732764)
              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.
            • Re:So, (Score:5, Insightful)

              by omeomi (675045) on Wednesday March 12, @05:41PM (#22733046) Homepage
              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.
    • Re:Stunning! (Score:5, Insightful)

      by Bob of Dole (453013) <sashdop@3dmm2.com> on Wednesday March 12, @04:17PM (#22732196) Journal
      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.
    • Re:Stunning! (Score:5, Insightful)

      by Falesh (1000255) on Wednesday March 12, @04:27PM (#22732302) Homepage
      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?
      • Re:Stunning! (Score:5, Insightful)

        by DragonWriter (970822) on Wednesday March 12, @05:04PM (#22732690)

        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?
        • Re:Stunning! (Score:5, Interesting)

          by John Carmack (101025) on Wednesday March 12, @06:52PM (#22733726)

          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
          • by Anonymous Coward on Wednesday March 12, @07:06PM (#22733868)
            RTFA, you didn't understand what the guy who wrote the article was saying.
    • Re:Right... (Score:5, Insightful)

      by Jerf (17166) on Wednesday March 12, @04:51PM (#22732536) Journal
      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?
    • Re:Right... (Score:5, Interesting)

      by DeltaSigma (583342) <onu@public.gmail@com> on Wednesday March 12, @05:29PM (#22732964) Journal
      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.
    • 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. ;-))