Slashdot Mirror


NVIDIA Doubts Ray Tracing Is the Future of Games

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

36 of 198 comments (clear)

  1. Counterpoint by peipas · · Score: 4, Funny

    Kirk should talk to Picard who is quite enthused about real time raytracing.

    1. Re:Counterpoint by moderatorrater · · Score: 4, Funny

      That lends a lot of weight to the raytracing argument, since I generally prefer Picard over Kirk...

    2. Re:Counterpoint by Naughty+Bob · · Score: 2, Insightful

      As a counter-counterpoint, the article has quite misleading pictures-

      The Ray-Tracing images are super slick, but are non real-time, highly processed work.

      Whereas the comparison Rasterized images are real-time, game-generated examples. If you were to allow the pro-rasterization side the same time to produce a single picture, it would be super fancy.

      --
      "Be light, stinging, insolent and melancholy"
    3. Re:Counterpoint by peipas · · Score: 4, Funny

      Yes, I loved the episode where Odo shape-shifted into a layer 3 switch during the Romulan invasion.

    4. Re:Counterpoint by Applekid · · Score: 4, Interesting

      We're not talking about the current technology, we're talking about the future. As in whether Ray Tracing is the Future of Games.

      Graphics hardware has evolved into huge parallel general-purpose stream processors capable of obscene numbers of FLOPs per second... yet we're still clinging tenaciously to the old safety blanket of a mesh of tesselated triangles and projecting textures onto them.

      And it makes sense: the industry is really, really good at pushing them around. Sort of how like internal combustion engines are pretty much the only game in town until alternative save themselves from the vapor.

      Nvidia, either by being wise or shortsighted, is discounting ray-tracing. ATI is trailing right now so they'd probably do well to hedge their bets on the polar opposite of where Nvidia is going.

      3D modelling starts out in abstractions anyway with deformations and curves and all sorts of things that are relatively easy to describe with pure mathematics. Converting it all to mesh approximations of what was sculpted was, and still is, pretty much just a hack to get things to run at acceptable real-time speeds.

      --
      More Twoson than Cupertino
    5. Re:Counterpoint by SanityInAnarchy · · Score: 3, Interesting

      From what I read, I think part of this is nVidia assuming GPUs still stay relevant. If we ever do get to a point where raytracing -- done on a CPU -- beats out rasterization, done on a GPU, then nVidia's business model falls apart, whereas Intel suddenly becomes much more relevant (as their GPUs tend to suck).

      Personally, I would much prefer Intel winning this. It's a hit or miss, but Intel often does provide open specs and/or open drivers. nVidia provides drivers that mostly work, except when they don't, and then you're on your own...

      --
      Don't thank God, thank a doctor!
    6. Re:Counterpoint by Have+Brain+Will+Rent · · Score: 3, Informative

      yet we're still clinging tenaciously to the old safety blanket of a mesh of tesselated triangles and projecting textures onto them.

      Tessellation is also frequently used in ray-tracers as it makes things much simpler and faster.

      Converting it all to mesh approximations of what was sculpted was, and still is, pretty much just a hack to get things to run at acceptable real-time speeds.

      It also makes things much simpler for ray-tracers. Really. Intersecting a line with an arbitrarily curved surface is demanding, in terms of cycles and in terms of getting the calculation correct in the first place.

      The article is right that ray-tracers must examine every poly, just like raster renderers. Ray-tracing is not, as some have said, O(ln N) where N is the number of primitives. The article's comments that aliasing is a big problem for ray tracing ignores decades of work in ray-tracing to overcome this problem. The article then goes on to talk about radiosity (although not naming it that) and it being even more computationally intensive and says rasterization is better because it can approximate these soft effects - well, so can ray-tracing. The rest of the article is similar... nothing is really *wrong* but I think it's not entirely unbiased either.

      Either way I'd still like to get me a machine with one of the NVidia/ATI computation engines to play with though. :D

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    7. Re:Counterpoint by Pseudonym · · Score: 3, Informative

      Nvidia, either by being wise or shortsighted, is discounting ray-tracing.

      What you may not realise is that NVIDIA sells a renderer/raytracer which uses the GPU for accelleration, targeted at the animation and VFX market.

      They are not discounting ray-tracing. They are embracing it. And they know, from lots of their own R&D, that it's not going to be competitive in the real-time market at any point in the forseeable future.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  2. Steve Jobs also uses this trick by OrangeTide · · Score: 4, Insightful

    Saying something sucks if he's already developing a product for it.

    --
    “Common sense is not so common.” — Voltaire
  3. Relief Texture Mapping by DeKO · · Score: 5, Informative

    A good way to mix both techniques is Relief Texture Mapping. It's a good way to get smooth surfaces thanks to the texture interpolation hardware, with no extra polygons.

    1. Re:Relief Texture Mapping by DeKO · · Score: 3, Interesting

      Ray tracing is firing rays from each screen pixel, test for collision against the geometry, and figure out the proper color. RTM is firing rays from each polygon's "pixel", test for collision against the "texture geometry", and figure out the proper color. It's just ray tracing in a subset of the screen pixels, in a geometry (heigthmap) represented by a texture (or multiple textures) from a polygonal face. Why do you think this is not related to ray tracing?

    2. Re:Relief Texture Mapping by Creepy · · Score: 3, Informative

      It can do curved surfaces, but is far from perfect and really is an approximation placed into a polygon structure (the surface itself is flat, but you don't see the surface itself). The silhouettes are done using 4 of the 16 quadrics as a reasonable subset to get an estimate curvature (4 to save on storage). These are pre-calculated and therefore have some overhead (either in a file or dynamically calculated on load). It is also restricted to hard shadows because it works similarly to ray tracing - tracing lines, not patches (it's hard to describe that, but think of it like when light hits an object, it reflects a line, not a cone), however, you get these shadows for free.

      Incidentally, Steep Parallax Mapping and Interval Mapping also use pseudo ray tracers, but the surface curvature is unique to Relief Mapping (the quadric technique doesn't work with them). Most other techniques can be adapted to support soft shadows, however, and most game developers I know (3 professional) think soft shadows are more important than curved surface relief maps. If surface curvature is important, they'd rather tessellate it out.

  4. Like we were expecting something else by Btarlinian · · Score: 5, Insightful

    Seriously though, does anyone expect Nvidia to say, "Yes, we really do think that our products will all be obsolete and outdated in a few years. Thank you for asking." I personally have no idea as to whether or not ray tracing is the future of games, but I really don't think that Nvidia is the right person to ask either, (just as Intel isn't).

    1. Re:Like we were expecting something else by Mr.+Underbridge · · Score: 2, Insightful

      Seriously though, does anyone expect Nvidia to say, "Yes, we really do think that our products will all be obsolete and outdated in a few years. Thank you for asking." I personally have no idea as to whether or not ray tracing is the future of games, but I really don't think that Nvidia is the right person to ask either, (just as Intel isn't).

      One could argue that the Nvidia folks have been well aware of ray-tracing for a long time, and if they thought it was reaching the point where it was going to be useful that they would have begun incorporating it in a future generation of chip. So it's not like they're permenantly committed against it - they may honestly believe it's time is not here.

      As for Intel, I do think it's fairly obvious that the inherent parallelization of ray tracing is a big part of what makes it attractive to them right now. That and they have enough cash to just screw around with it without having to market it. But there's no reason Nvidia wouldn't go to multi-core chips if they thought the demand was there.

    2. Re:Like we were expecting something else by Kjella · · Score: 2, Insightful

      From what I can tell, Ray-Tracing is closer to 'reality', and so you'd expect the technology eventually to tend in that direction. Not necessarily, humans aren't that picky that the virtual reality be a perfect reality. For example, I don't ever expect to pick up a laser, find a thin enough slit and see the quantum effects on the wall, not the real simulated deal anyway. More natural than modelling it as a pefect beam? Sure, but like what's the point. Graphic cards and Copperfield are in the same business, making the grandest possible illusion with a minimum of resources and maximum immersion. If you get the macroscopic effects close enough, there's no added value to actually doing what you just made appear right with smoke and mirrors.
      --
      Live today, because you never know what tomorrow brings
    3. Re:Like we were expecting something else by Znork · · Score: 3, Interesting

      So instead of buying a separate chip for graphics, you get the same performance boost from just getting a second CPU or one with more cores.

      Not only that; you get a performance boost from your server. And from your kids computers. You get a performance boost from your HTPC. And potentially any other computer on your network.

      The highly paralellizable nature is the most interesting aspect to raytracing IMO; with distributed engines one could do some very cool things.

    4. Re:Like we were expecting something else by Abcd1234 · · Score: 5, Informative

      Actually, I don't think that's true at all. Raytracing, just like today's rasterizers, can greatly benefit from dedicated hardware for doing vector operations, geometry manipulation, and so forth. This is particularly true as raytracing benefits greatly from parallelization, and it would be far easier to build a dedicated card with a nice fat bus for shunting geometry and texture information between a large number of processing units than it would be to use a stock, general multicore processor which isn't really designed with those specific applications in mind.

      Besides, the whole reason to have separate, specialized gear for doing things like audio/visual processing is to free up the main CPU for doing other things. Heck, we're even seeing specialized, third-party hardware for doing things like physics and AI calculations, not to mention accelerators for H.264 decoding, etc. As such, I see no reason to move graphics rendering back to the main CPU(s).

    5. Re:Like we were expecting something else by jcrash · · Score: 2, Insightful

      If I try to offload to my HTPC something tells me that network latency is sure gonna send my FPS to crap. But, in the current world where raytracing takes a LONG time, sure you can offload all you want.

      --
      I do not fear computers. I fear the lack of them. Isaac Asimov (1920 - 1992)
    6. Re:Like we were expecting something else by Mac+Degger · · Score: 2, Interesting

      You should check out the quake3 engien modded to use raytracing. Quite nice, and the computer scientist also has some interesting points about the efficiencies of raytracing (ie those problems Portal had with it's portal rendering (which you didn't see, because they had to hack around it))? Not a problem with raytracing).

      So, quake3 runs easily using raytracing, and that was just something to show how fast it can be...it's feasable in the latest games too. So why is raytacing so slow again?

      Oh, you're thinking POVray or some such offline rendering engine.

      --
      -- Waht? Tehr's a preveiw buottn?
  5. Hmmm - who to believe, who to believe?? by $RANDOMLUSER · · Score: 4, Interesting

    Intel says to do it with the CPU, and nVidia says to do it with the GPU. What a surprise.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  6. Obey your thirst... by Itninja · · Score: 5, Insightful

    Personally, I prefer spites to either ray-trace or polygons. I still thing Starcraft (the game, not the conversion van) had some of the best graphics. But then I am kind of a fuddy-duddy. I also think River Raid was an awesome game.

    --
    I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
    1. Re:Obey your thirst... by Belial6 · · Score: 2, Funny

      I still remember, as boy in the early 80's, getting the opportunity to take a cruse on a navy ship. Seeing the targeting equipment on that ship gave me a real appreciation for just how realistic the graphics on Missile Command were. They were darn near indistinguishable from the real thing.

    2. Re:Obey your thirst... by Stormwatch · · Score: 2, Informative

      Talking about sprites, did you see the teaser video for King of Fighters XII? So. Fuckin'. Beautiful.

    3. Re:Obey your thirst... by waffledoodle · · Score: 2, Insightful

      It goes both ways. Sprites are perfect at a small scale or when you don't need too many frames of animation, or when you want to blend and layer animations. However, a super smooth screen-size sprite (a boss, for example) can easily suck up more resources than a model if you're dishing out lots of animation.

    4. Re:Obey your thirst... by ObsessiveMathsFreak · · Score: 2, Informative

      It takes a lot of work to get a 3D model to look as good as a 2D sprite. You gain more freedom and, as the amount of actions increase, can create new animations with as lot less hassle. But it remains very difficult to get a really good "animated" feel with 3D models which need to look good from all angles, and nowadays under all lighting conditions. 2D sprites, while laborious to create, invariably display precisely as the animator intended.

      Games like Ratchet and Clank or Jak and Daxter pull this off well. It's not just down to character design allowing a certoony look. Apparently the games use a Naughty Dog technique whereby the models "bones", i.e. canonically fixed points, are themselves allowed warp and distort, meaning that the models do not simply consist of fixed points rotating on joints. Jax and Daxter exemplifies this best, with characters undergoing highly exaggerated warping and distortion both in game and in scripted scenes. Think of a Looney Toons double take. A game like Viewtiful Joe, which while cell shaded, did not look as good, simply because it did not use this effect. I believe Sly Cooper used a combination of the two styles.

      Design is a far, far more important factor than graphics capability in improving a games overall look. Call of Duty 4, while technically impressive, looks fairly dry. This simply cannot be helped as you are playing as "realistic" soldiers in what are ordinary locals. Something like Unreal Tournament 3, which is actively using often exaggerated artistic designs, and where you fight in alien locals, is much more aesthetic.

      Ray tracing "can" make games look better, but only slightly. If you want better looking games, you need better artistic design. I don't see how ray tracing delivers this in a measurably better way over other, less intensive techniques. Unless it's for something like weird water effects, I just can't see the advantage when you could be putting cycles to work on other things like movement in the background, more animated sprites or things like dust and spray.

      --
      May the Maths Be with you!
  7. This just in... by Majik+Sheff · · Score: 2, Insightful

    IBM doubts the future of the "personal computer"
    Buggy manufacturers poo-poo the new horseless carriage
    etc, etc.

    --
    Women are like electronics: you don't know how damaged they are until you try to turn them on.
  8. Translation by snarfies · · Score: 2, Insightful

    We can't do it as well as Intel yet, therefore it sucks. BUY NVIDIA.

  9. What do the people that make the software say? by 9mm+Censor · · Score: 4, Interesting

    What about game and engine devs? Where do they see the future going?

    1. Re:What do the people that make the software say? by Solra+Bizna · · Score: 2, Informative

      What about game and engine devs? Where do they see the future going?

      IAAGD. My current paid project is to have both a raytracing module and a rasterizing module, and is designed to use them completely interchangeably. Personally, I'm a much bigger fan of raytracing than rasterization, and I'm going to a great deal of effort to make sure that it can be done efficiently with my engine.

      -:sigma.SB

      --
      WARN
      THERE IS ANOTHER SYSTEM
    2. Re:What do the people that make the software say? by Squapper · · Score: 5, Interesting

      I am an game-developing 3d-artist, and our biggest problem right now is the lack of ability to render complex per-pixel shaders (particulary on the PS3). But this is only a short-term problem, and what would we do with the ability to create more complex shaders? Fake the appearance of the benefits of Ray-tracing (more complex scenes and more realistic surfaces) of course!

      On the other hand, the film industry could be a good place to look for the future technology of computer games. And as it is right now, it's preferable to avoid the slowness of raytracing and fake the effects instead, even when making big blockbuster movies.

  10. Probably right on this one... by Bones3D_mac · · Score: 4, Insightful

    For the most part, I really don't see ray-tracing adding much to the world of gaming that isn't being handled well enough by current methods. Unless someone was specifically creating games that somehow directly incorporated either the benefits or the added calculations involved with ray-tracing itself, it would only be a costly, and highly inefficient gimmick of an alternative to current techniques.

    Sure, ray-tracing has its place in a lot of areas, but real-time gaming would be a terrible misuse of processing horsepower... especially when you could be applying it to other areas of gaming that actually affect gameplay itself. For example, how about more robust AIs for in game elements, or high-end physics processing that can combine things like fabric/hair/ fluid/fire physics processing with the ability to decimate objects completely as vector-calculated chunks based on the surrounding environments, rather than all this predetermined destruction we currently see in games. (Example, a surface could be eroded incrimentally by having a fluid running acrossed it until a hole forms in the shape of the fluid path...)

    --


    8==8 Bones 8==8
  11. Hardly anything new by K.+S.+Kyosuke · · Score: 4, Interesting

    For years, the movie studios were using Pixar PRMan, which is in many ways a high-quality software equivalent of a modern graphics card. It takes a huge and complex scene, divides it into screen-space buckets of equal size, sorts the geometrical primitives in some way, and then (pay attention now!) tesselates and dices the primitives into micropolygons about one pixel each in size (OpenGL fragments, anyone?), shades and deforms them them using simple (or not-so-simple) algorithms written in the RenderMan shading language (hey, vertex and pixel shaders!) and then, it rasterizes them using stochastic algorithms that allow for high quality motion blur, depth-of-field and antialiasing.

    Now the latest part is slightly easier for a raytracer, which can cast a ray from any place in the scene - of course, it needs this functionality anyway. But a raytracer also needs random access to the scene which means that you need to keep the whole scene in memory at all times, along with spatial indexing structures. The REYES algorithms of PRMan needs no such thing (it easily handles 2 GB of scene data on a 512 MB machine along with gigs of textures), and it allows for coherent memory access patterns and coherent computation in general (there is of course some research into coherency in raytracing, but IIRC, the results were never that good). This is a big win for graphics cards, as the bandwidth of graphics card RAM has never been spectacular - it's basically the same case as with general-purpose CPU of your computer and its main memory. But with 128 or so execution units of modern graphics card, the problem is even more apparent.

    Unless the Intel engineeers stumbled upon some spectacular breakthrough, I fail to see how raytracing is supposed to have any advantage in a modern graphics card. And if I had to choose between vivid forest imagery with millions of leaves flapping in the wind and reflective balls on a checkered floor, I know what I would choose.

    --
    Ezekiel 23:20
  12. A matter of speed by CopaceticOpus · · Score: 3, Insightful

    "C is much too slow, to get good performance you must use assembly."

    "Scripted languages are much too slow, to get good performance you must use compiled languages."

    As computers get faster, there is always a move from technologies that are easier for the computer to technologies that are easier for the developer. Since ray tracing involves less hacks and is a more direct model of the effects developers want to create, it seems inevitable.

    1. Re:A matter of speed by batkiwi · · Score: 3, Informative

      Current methods do not scale parallel. SLI does not give you 2x the resolution at the same framerate, or double the framerate at the same resolution. Same for any sort of quad SLI solution (two dual chip gfx cards, etc).

      Ray tracing scales almost perfectly. The same processor with 4 cores will perform about 3.9x as well (pushed pixles per second, so either higher FPS or higher resolution, or a mix) as one with 1 core. This is why intel is pushing this.

  13. Earlier interview: David Kirk & Philipp Slusal by argent · · Score: 2, Informative

    There used to be an interesting debate between Professer Philipp Slusallek of the University of Saarbruecken and chief scientist David Kirk of nVidia at GameStar.de. The original article has been taken down, but I found a slightly mangled version on the Wayback machine and I've cleaned it up a bit and put it up on my not-a-blog: link.

    I'd appreciate a better translation of the German part of the text.

  14. nVidia seems to be hedging their bets by argent · · Score: 2, Interesting

    Following up on my previous post about the debate between David Kirk and Philipp Slusallek in 2006 (link ... apologies to Dr. Slusallek, Slashdot truncated his name).

    According to Dr. Slusallek's LinkedIn profile he's currently a "Visiting Professor at NVIDIA".

    The performance of Dr. Slusallek's real-time raytracing engine at only 90 MHz was quite impressive: "In contrast we have recently implemented a prototype of a custom ray tracing based graphics card using a single Xilinx FPGA chip. The first results show that this really simple hardware running at 90 MHz and containing only a small fraction of the floating point units of a rasterization chip already performs like a 8-12 GHz Pentium 4. In addition, it uses only a tiny fraction of the external memory bandwidth of a rasterization chip (often as low as 100-200 MB/s) and therefore can be scaled simply by using many parallel ray tracing pipelines both on-chip and/or via multiple chips.".

    It seems there may be room for more than one opinion about the future of raytracing and gaming at nVidia.