Slashdot Mirror


Students Evaluate Ray Tracing From Developers' Side

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

84 comments

  1. What's the point ... by HappySqurriel · · Score: 1

    I know this may not be a popular question, but what is the point with raytracing for games?

    We're finally getting to a level of technology with rasterization where we're producing visuals at a level which is "Good Enough" (or better) for practically every genre. Do we really need to get on the hardware treadmill for the next 10 years to get to a similar technology level to get slightly more realistic lighting and reflections?

    1. Re:What's the point ... by ZiakII · · Score: 3, Insightful

      I know this may not be a popular question, but what is the point with raytracing for games? We're finally getting to a level of technology with rasterization where we're producing visuals at a level which is "Good Enough" (or better) for practically every genre. Do we really need to get on the hardware treadmill for the next 10 years to get to a similar technology level to get slightly more realistic lighting and reflections?

      Yes, we do because everything that we do currently is just a hackish like system where we are using programing tricks and other methods to get it to look realistic. Instead of a video card you would just need a faster cpu, which if we base off of moore's law won't be much longer.

    2. Re:What's the point ... by Ambiguous+Puzuma · · Score: 2, Insightful

      Raytracing is an "embarrassingly parallel" task that should scale well as desktop computers execute more and more code in parallel. Can the same be said about rasterizing?

    3. Re:What's the point ... by argent · · Score: 4, Insightful

      Realistic lighting allows you to use those clever algorithms in your head that you've learned over the past 20+ years in the real world, so when you see a flicker of a reflection or a change in the shadows in a darkened tunnel you can turn and blast the damn camper on the opposite rooftop before he nails you with his sniper rifle.

    4. Re:What's the point ... by kipman725 · · Score: 1

      it removes the need for complex graphics cards. Most of the problems I have had with computers have been due to these very complex bits of hardware and software not quite working together.

    5. Re:What's the point ... by HappySqurriel · · Score: 2, Interesting

      Actually, yes ...

      One of the main reasons that we now have 800 stream processors on fancy graphics cards is that you can split the most costly portions of advanced rasterization into hundreds of independant processes.

    6. Re:What's the point ... by argent · · Score: 3, Interesting

      Instead of a video card you would just need a faster cpu, which if we base off of moore's law won't be much longer.

      If the video card makers had picked up on the RPU you could use your video card to get realistic high frame-rate raytraced games today.

      Dr Slusallek is working at nVidia now, so who knows?

    7. Re:What's the point ... by UserChrisCanter4 · · Score: 2, Informative

      Head on over here to see what a raytraced Enemy Territory: Quake Wars looks like. Pay particular attention to the water and windows.

      Now read everyone else's responses and realize that raytracing is a super-easy way to take advantage of multiple cores and simplify your code at the same time. All the crazy stunts and tricks you have to pull to get some of those lighting and reflection tricks can be thrown out the window, and the extra time could be used to ::crosses fingers:: make better gameplay. We can dream, right?

      Of course, that raytraced ET: Quake Wars is running in a 16-core system at 1280x720 and posts between 15 and 30 fps. We've got a ways to go, obviously. On the flipside, you'd pay more for a single core system five years ago than you do for a quad-core today, so we're rapidly gaining on it.

      If things go as many in the industry are predicting, though, scaling up the power of a single core just isn't going to happen like it used to. Throwing a bunch of cores in a system does seem like the way computing is going, at least at this juncture. In other words, the cores will be there anyway, why not make use of them?

      Finally, with the rise of GPGPU and the NVidia/ATI-specific counterparts, I imagine it actually wouldn't be too difficult to allow your standard GPU to assist in raytracing on newer titles while still handling legacy games. (I might be talking out of my ass on this one, so any graphics nerds, please feel free to correct me there).

      I sympathize with your point about the intermittent step backwards. I doubt that it will happen that way; likely, rasterized graphics will be around for quite some time with a gradual ceding to raytraced graphics as 8 core and higher systems become more commonplace. I also agree that graphics look damned good, and I myself have expressed similar views about the costs and obstacles inherent in going even more detailed. In the meantime, though, you can't blame developers or hardware companies for trying to avoid running into the wall of the declining improvement in CPU/GPU speeds. As I said earlier, if the cores are going to be there anyway then we might as well use them.

    8. Re:What's the point ... by Anonymous Coward · · Score: 1, Insightful

      Yes.

      Any conceivable hardware architecture that is optimized for ray tracing will be even better at rasterization. It's a basic axiom, once you understand the way memory (has to) work.

    9. Re:What's the point ... by Anonymous Coward · · Score: 0

      It's a legitimate strategy! It's a legitimate strategy!

    10. Re:What's the point ... by grumbel · · Score: 1

      I know this may not be a popular question, but what is the point with raytracing for games? The core idea is that rasterization scales linear while raytracing scales logarithmically, i.e. when you have few polygons, rasterization is faster, but when you cross a certain threshold on the number of polygons, raytracing wins. As a nice side effect raytracing can also do some things easily that are hard with rasterization, like reflection.

      The whole debate of course is if we have already crossed that threshold or even if we ever will, since the whole thing only works out for the very basic algorithm. When you have a whole game with dynamic stuff that raytracing doesn't like and have engines that chose which polygons they render, instead of just brute-forcing all of them down the rasterizer things get a lot more complicated. And when you add shaders into the mix it gets completly crazy, since you can even do raytracing inside a shader of a rasterization engine.

      For the enduser it really is a total non-issue right now. For one thing the raytraced demos just don't look good enough to really impress and then they also need far more CPU power then anybody currently has. And for backward compatibility reasons we will continue to have GPUs for quite a while to come. Maybe things will change with Playstation4 or whatever comes next, but in the end its at the moment more a marketing action from Intel then anything else, since well, they aren't good in GPUs, but they have all those CPU cores where they don't know what to do with them, so raytracing seems like a problem that fits their solution.

    11. Re:What's the point ... by Hatta · · Score: 1

      We're finally getting to a level of technology with rasterization where we're producing visuals at a level which is "Good Enough" (or better) for practically every genre. Do we really need to get on the hardware treadmill for the next 10 years to get to a similar technology level to get slightly more realistic lighting and reflections?

      I thought we were "good enough" for practically every genre 10 years ago. I don't think there's much point from a gameplay perspective in anything prettier than Half-Life. But prettier games get noticed, and bought, so there's always a good business reason to make them prettier.

      --
      Give me Classic Slashdot or give me death!
    12. Re:What's the point ... by RiotingPacifist · · Score: 1

      We're finally getting to a level of technology with rasterization where we're producing visuals at a level which is "Good Enough" (or better) for practically every genre. Do we really need to get on the hardware treadmill for the next 10 years to get to a similar technology level to get slightly more realistic lighting and reflections? Highlighted because nobody else seams to understand that you agree that raytracing is better but are saying that its unneeded. Hell for most genres (stratergy,RPG,arcade,puzzle) i doubt that graphics make any difference to playability at all.

      I completely agree but the fact is most people are consumerist bitches, and will end up buying whatever were told is best , games will then all move to raytracing, meaning everybody will be forced to even if like you and I, they don't give a shit about having slightly more realistic shadow.

      --
      IranAir Flight 655 never forget!
    13. Re:What's the point ... by Solra+Bizna · · Score: 2, Informative

      Actually, no.

      Rasterization is not embarrassingly parallel in the same way that raytracing is. Distributing tasks among those 800 "stream processors" is exceedingly complicated, because the underlying "task" involves iterating over every pixel that intersects with a given triangle rather than (as in raytracing) iterating over every triangle that could intersect with a given pixel.

      -:sigma.SB

      --
      WARN
      THERE IS ANOTHER SYSTEM
    14. Re:What's the point ... by Hatta · · Score: 2

      Honestly, I'm not that impressed with the raytraced Quake Wars. Some nicer textures and higher res models could make it a lot prettier with a lot less horse power. Yes, the reflections are impressive, but reflections aren't that important really.

      --
      Give me Classic Slashdot or give me death!
    15. Re:What's the point ... by ZephyrXero · · Score: 2, Interesting

      To take Ziakll's argument even further... One problem with today's game industry is how long it takes to make a video game. Back in the 80s games could be made with a small handful of people in less than a year. Now it takes about 10 times as many people and anywhere from 2 to 5 years to produce a game. The biggest time (and of course money) sink in this process is art and level development. If raytracing can make things simpler and quicker to get accomplished for an artist then that will equal less time for production, and less development cost (maybe even cheaper games for the consumer in the long run). Real time raytracing is only inevatable just as it's only a matter of time till tools like Natural Motion's Endorphin and Euphoria take over the animation aspect. Any aspect of the development process that can be simplified or even better automated, will eventually win out.

      I'm betting that AMD's upcoming Hybrid chips will greatly benefit from Real Time Ray Tracing taking off. I'd just love to see someone come out with an open source RTRT engine that we could all start playing with right now, no matter how rudimentary ;)

      --
      "A truly wise man realizes he knows nothing."
    16. Re:What's the point ... by Pinky's+Brain · · Score: 1

      GPUs can do raytracing fine ... but it still won't be used most of the time, simply because you can get better looking images by not trying to use it for all your rendering.

      Raytracing, best in moderation.

    17. Re:What's the point ... by JimboFBX · · Score: 1

      And how would you calculate what intersects with what without iterating over each one?

    18. Re:What's the point ... by SanityInAnarchy · · Score: 2, Interesting

      All the crazy stunts and tricks you have to pull to get some of those lighting and reflection tricks can be thrown out the window, and the extra time could be used to ::crosses fingers:: make better gameplay. Not only that, but any weird new kind of gameplay which depends on interesting visuals can be done much, much easier.

      Simple example: Portal. Right now, it involves all sorts of crazy tricks. As I understand it, objects (at least, cubes which fall through the portal) are duplicated at both ends of a portal (in case you can see both ends at once)... The "hall of mirrors" effect of two portals across the hallway from each other is apparently intensive (it causes lag), and there is a hard (adjustable) limit, which can't be set above, what, 7 layers?

      If Portal had been done raytraced, there would still be tricky things to do with the physics, but at least the portal graphics themselves would require roughly a single line of code -- add a few more, and you could have it shimmer and distort -- and they'd perform about the same either way. And they'd look better -- the "hall of mirrors" would continue to the pixel (or sub-pixel, if antialiased) scale, with no huge lag when you turn towards those mirrors.

      But if there's one thing we could use in games, it's simplifying the code. Consider that games have tight schedules as it is (even moreso with the knowledge that any problems can be patched via download), and that it's not as though you have to design for ten years worth of feature enhancements and bugfixes -- you generally won't carry much over to the next game, so if it runs, it's good enough.

      Given that attitude, what kind of hiring pratices will you have? Even The Daily WTF doesn't like to talk about it.

      Now add the absolute requirement for performance, and you get esoteric, incomprehensible hacks at every level. And this is considered normal -- celebrated, even. After all, John Carmack has a hack named after him.

      This is an area which could really use some solid engineering. To liken it to Web development, it seems everyone's working with crusty old PHP (or even straight C), when what's needed is either Rails (for large projects) or Sinatra (for small projects).

      --
      Don't thank God, thank a doctor!
    19. Re:What's the point ... by Chandon+Seldon · · Score: 1

      Honestly, I'm not that impressed with the raytraced Quake Wars. Some nicer textures and higher res models could make it a lot prettier with a lot less horse power. Yes, the reflections are impressive, but reflections aren't that important really.

      Reflections (and various translucency effects) are all they were demoing. Raytracing probably doesn't have any special scaling problem with high resolution textures and models (I think it's an issue of "rays per pixel"), but that's not what they were worried about this time around.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    20. Re:What's the point ... by Quarters · · Score: 1

      That's the problem, at least for the IHVs. DX9/10 or OpenGL2.x with programmable pixel pipelines and gobs of stream processors on the GPU are quite enough to get movie CGI quality games at sufficiently high framerates, resolution, and image quality for years. That does nothing to help sell the next uber video card at $600+ a pop, though. Raytracing would start the IHVs down a path of all new technologies to invent and exploit on 6 month release schedules.

    21. Re:What's the point ... by Anonymous Coward · · Score: 0

      I think you may be missing the point a little. People don't always rush out and buy the latest technology just because they're told that it's better, and that they'll feel better for having it. Serious gamers, such as myself, genuinely believe that a greater experience can be had from "prettier" games. Specially, because more realistic visuals are more effective at convincing our brains that we're actually participating in the experience.

      Take an action game set in World War 2 for example, as there have been a steady stream of those released each year practically since the word "graphics" has existed. Nearly a decade ago, a game such as Medal of Honor: Allied Assault could provide a fairly intense war-like experience, which sometimes put us on their edge of our seat as we dived and ducked behind cover to avoid incoming fire. But computer graphics at the turn of the century just weren't convincing enough to really convey a battlefield accurately and incite a true sense of danger in us.

      These days, we're a lot closer. We can generate a world with much more detail, and our subconscious minds are more easily persuaded by the level of realism. When an explosion goes off beside the player, and smoke and debris fills the screen, you really feel as though your life is at risk. The ability to render countless other soldiers participating in the battle around you, while planes fly overhead and flak guns fire into the sky in the distance. The whole scene just feels more real, and that gets the adrenalin pumping much more effectively than any low-polygon game of old.

      The actual gameplay mechanics are, of course, the most important aspect of a game. So long as the player feels challenged, and doesn't become frustrated or bored by the level of interaction they're provided, then the game will probably be fun to play. But a fun game can be made even better by the addition of realistic visuals and sound. A play can be drawn into the world faster and more completely if what they're seeing and hearing matches the environments that we evolved in. Our instincts of fear, and excitement, and curiosity, and attraction, and emotional attachment can all become part of the gaming experience if the sensory projection of the fictional world appeals to our experiences in the real one.

      Ray tracing (to finally broach the subject at hand) is another step towards realistic graphics, and a potentially more engaging experience. It allows for shadows and reflections that surpass anything we see today from a typical real-time renderer. Our minds will be even more convinced that what we're seeing is real, and we'll be even more frightened to step through the tense atmosphere of tomorrow's survival horror games. Lighting, shadows and reflections can all be incorporated into the gameplay mechanics, in much the same way that portals were used in Portal and Prey to provide us with an experience we couldn't get from earlier technology.

      I, for one, am looking forward to crawling through the next generation of highly realistic battlefields, noticing how the grass sways in the wind and the smoke follows it. I want to see the land permanently scarred by an earlier battle, and I want to wonder if that shadow on the wall up ahead is a soldier around the next corner, or just a flag caught by the breeze.

      Bring on the realism, and let me experience the excitement and danger of war without being constantly reminded that my enemies are made of wire meshes and texture-maps.

    22. Re:What's the point ... by Solra+Bizna · · Score: 3, Interesting

      The point is that, in raytracing, you can assign each of your 800 "stream processors" different pixels. Done. You're parallel. When one finishes, give it another pixel to work on, and repeat until you've rendered the whole thing.

      Each core still has to iterate over all (well, some, I'm oversimplifying) of the triangles, but it can do so COMPLETELY INDEPENDENTLY of the other cores and still come up with a good result. Your performance gains are almost linearly proportional to the number of cores.

      You can even have a relatively high-latency connection (Gigabit Ethernet, for instance) between the various cores, broadcast the scene data over this connection, and then receive individual "chunks" of rendered pixels back. I defy you to do that with rasterization.

      -:sigma.SB

      --
      WARN
      THERE IS ANOTHER SYSTEM
    23. Re:What's the point ... by TheThiefMaster · · Score: 1

      While the task of figuring out which pixels go to which triangles isn't easily parallelisable, running pixel and vertex shaders is. THAT's what the stream processors are used for.

    24. Re:What's the point ... by Surt · · Score: 1

      Half-life was sufficiently low polygon that it looked quite angular, which clearly wasn't the goal of the art direction. Artists mostly just need more tris to make their art look better, so for the next few generations at least there will be continuing improvements in the ability of games to deliver on the artist's intentions. Games are not just about game mechanics, they also involve story, and for delivering story, suspension of disbelief is key. As long as the technology is getting in the way of delivering the artist's vision, games won't have reached their peak. Imagine if comic book artists were limited to 20 lines when drawing super heroes. Would we say that they can't really get any better, because really, the story is what matters, and the art is good enough?

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    25. Re:What's the point ... by robthebloke · · Score: 2, Insightful

      This is a somewhat rose tinted view of ray tracing. You can't simply throw each pixel onto a different stream processor and expect it to work. Whilst this works for throwing a different pixel at a different CPU core, this does not work with the stream processors we currently have available to us.

      The problem we have both in the cell, and in stream processors on a GPU is that you can't arbritrarily access large data sets. So, it is impossible to write any code for a triangle that allows it to fire off rays into the rest of the scene. End of story.

      Now, these things are possible, but, it requires a hell of a lot of hacking - i.e. using indices into textures, writing output data back into textures, copying that data to a vertex array.. etc etc etc.

      But, you have the exact same problems to overcome to get ray tracing to work on a stream processor, as you do with rasterisation. Those 800 stream processors you talk about, have to be running exactly the same code, have only a small amount of memory available to them, and are generally a PITA to get even the simplest code running.

      You talk about distributing frames across seperate PC nodes, but we've been doing that for years in renderman - using the exact same system you describe (via alfred typically). 99% of the filmFX houses use renderman for their rendering, however renderman is not a ray traced renderer.

      The simple reason why is that 99% of filmFX shots do not require raytracing....

      The same is also true of Games. I'm willing to bet that in my lifetime I will never see a AAA game released that is 100% raytraced. Some games may use it for 2 to 5% of the effects, but that will be about it.... much like it is in the film industry.....

    26. Re:What's the point ... by robthebloke · · Score: 2, Interesting

      The biggest time (and of course money) sink in this process is art and level development. This more or less hits the nail on the head. Raytracing isn't going to reduce this burden - you still have to write shaders for mental ray for example. The biggest problem is that as the complexity of the required art assets increases linearly (with moores law), the amount of time taken to model, rig and animate those models increases exponentially.

      To put it bluntly, at the moment the industry has to invest in better tools to simplify the asset creation stage.
    27. Re:What's the point ... by robthebloke · · Score: 2, Insightful

      Instead of a video card you would just need a faster cpu, which if we base off of moore's law won't be much longer. You'd actually need faster ram first. Current 800/1066Mhz ram can't compete with the 1900Mhz+ ram available on the GPU - it simply can't feed the data to the CPU core's quick enough. To speed up execution times of each core you'd need to limit the amount of Ram it can access to minimise cache misses. At that point, you suddenly have a stream processor that's pretty damn similar to the current GPU model.
    28. Re:What's the point ... by robthebloke · · Score: 1

      I'd rather see decent GI algorithms implemented before raytracing. Most of the objects i see around me are not chrome or glass.....

    29. Re:What's the point ... by Anonymous Coward · · Score: 0

      Except that CPUs tend not to benefit as directly from Moore's Law as GPUs do. A GPU, consisting of hundreds of "cores" (I use the term loosely) can pack more in to the die to increase speed at the tasks they are designed to perform, whereas at this point Moore's Law is not directly increasing CPU speed.

      That's why CPUs have been going increasingly multicore.

      In either case, I'm not convinced raytracing will end the video card (by which I mean a discrete coprocessing unit for graphics)...raytracing is parallelizable and I suspect the video card companies know how to make a parallel architecture....

    30. Re:What's the point ... by Goaway · · Score: 2, Insightful

      Raytracing is just as much of a hack as rasterizing. It's just a different hack. Both are nothing but rough approximations of the rendering equation.

      Raytracing is better at rasterizing for rendering silver spheres on checkerboards, but the lack of those aren't the main problem with graphics these days. Raytracing is pretty much as bad at rasterizing at things that matter much more, such as decent global illumination.

    31. Re:What's the point ... by Goaway · · Score: 1

      Raytracing is an "embarrassingly parallel" task Not quite. Each ray has to access the entire world geometry. Try to do that in parallel, and you'll either need huge separate memories for each processor, or you'll run out of shared memory bandwidth pretty quick.

      Rasterizing is far better when it comes to parallel memory access.

    32. Re:What's the point ... by Goaway · · Score: 1

      But raytracing doesn't do realistic lighting at all! It won't easily do global illumination, and it won't do reflected or refracted caustics either, at least not in realtime.

    33. Re:What's the point ... by Goaway · · Score: 1

      Reflections (and various translucency effects) are all they were demoing. It's all they are demoing because it's pretty much all raytracing is actually good at, at least at realtime speeds.
    34. Re:What's the point ... by raynet · · Score: 1

      I don't think it matters that much to the artist how things are rendered in the end. Someone will still need to model all the characters and objects, do level design, textures, animations, etc. And as technology advances and we get better, faster graphhics cards, the models and textures have to be higher quality, thus taking more and more time to produce.

      --
      - Raynet --> .
    35. Re:What's the point ... by Floritard · · Score: 1

      With nVidia's recent moves to allow you to use your old vid cards as a PhysX card, it would be interesting if graphics processing did in fact transfer back over to the multi-cored CPUs while video cards themselves became relegated to doing advanced physics simulations.

    36. Re:What's the point ... by UserChrisCanter4 · · Score: 1

      Raytracing is for anything that throws a reflection or alters light, including most metals and polished woods. In my office, I count a reflective desk surface, the glass face on my clock, an older CRT, the windows, the doorknobs, the globes that cover the lights, and some light reflectivity from the wood on the bookshelf.

    37. Re:What's the point ... by robthebloke · · Score: 1

      It allows for shadows and reflections that surpass anything we see today from a typical real-time renderer Ray tracing isn't actually that great at shadows. Typically, even in FilmFX, shadows are done with shadow maps. Current games are somewhat limited by the resources that we can throw at the shadowing, which in current game titles can lead to jittery shadows (because the shadow maps are too low res). Over the next few years I suspect we will see that slowly improve and eventually become a thing of the past.

      Reflections on the other hand could be improved by Ray tracing, but not by such a great margin as everyone seems to think.

      I, for one, am looking forward to crawling through the next generation of highly realistic battlefields, noticing how the grass sways in the wind and the smoke follows it. I want to see the land permanently scarred by an earlier battle, and I want to wonder if that shadow on the wall up ahead is a soldier around the next corner, or just a flag caught by the breeze. And none of that will be delivered by ray tracing...
    38. Re:What's the point ... by argent · · Score: 2, Informative

      But raytracing doesn't do realistic lighting at all!

      It does more realistic lighting than rasterization, and it definitely will do caustics... you just need to shoot more rays. Whether you can shoot enough rays in realtime or not, well, that's where you need the speedup from an RPU.

      "Global Illumination" isn't a lighting effect, it's a heuristic for rasterizing that fakes some effects that require additional rays to calculate. In some cases that's ludicrously many rays, in others it's not. There's also some very good (albeit still expensive) techniques to simulate radiance and other "global illumination" effects in raytracing. Again, how much you can do in realtime depends on your resources. And, again, an RPU would be a major win.

    39. Re:What's the point ... by Facetious · · Score: 1

      The core idea is that rasterization scales linear while raytracing scales logarithmically...
      Wouldn't that be just the opposite? If something scales logarithmically, each additional unit increase in the independent variable produces less increase in the dependent variable. IANAGP (graphics programmer), but I have heard it said that it is raytracing that scales linearly.
      --
      Let us not become the evil that we deplore.
    40. Re:What's the point ... by mrchaotica · · Score: 2, Insightful

      To put it bluntly, at the moment the industry has to invest in better tools to simplify the asset creation stage.

      Indeed. Who cares about raytracing? The next big thing in games is procedural generation of content!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    41. Re:What's the point ... by Goaway · · Score: 1

      It does more realistic lighting than rasterization, and it definitely will do caustics... you just need to shoot more rays. What is traditionally referred to as raytracing would require immense numbers of rays to do caustics. To handle those, one needs to combine ray tracing with other methods, such as photon tracing.

      "Global Illumination" isn't a lighting effect, it's a heuristic for rasterizing that fakes some effects that require additional rays to calculate. No, global illumination is often implemented through various heuristics, but the term itself is general, and just means taking indirect light into account.

      There's also some very good (albeit still expensive) techniques to simulate radiance and other "global illumination" effects in raytracing. And many of those work just as well for rasterizing.
    42. Re:What's the point ... by argent · · Score: 1

      What is traditionally referred to as raytracing would require immense numbers of rays to do caustics. To handle those, one needs to combine ray tracing with other methods, such as photon tracing.

      "Photon tracing" is raytracing, starting from the light source. It's the same algorithm, so raytracing hardware (like an RPU) should also accelerate it.

      [global illumination] just means taking indirect light into account.

      Generating multiple secondary rays gets the same results, albeit at a higher cost. And to get correct indirect illumination you still need to generate many of those secondary rays to handle local shadowing. Again, raytracing hardware would come in handy.

      And many of those work just as well for rasterizing.

      So do addition and subtraction, indirection, and object-oriented programming, but you wouldn't argue that a raytracer that used these wasn't a raytracer.

    43. Re:What's the point ... by Anonymous Coward · · Score: 0

      Good point, I suppose. But also somewhat irrelevant. Your entire post was pretty insulting, actually.

      Ray-tracing delivers more realistic visuals than current rendering methods. Are you going to argue with that, too? Because that's what my entire post was about. Realism, visual effects, and ultimate believability of the game world.

      Try not to be so darn picky about a few small details.

    44. Re:What's the point ... by Anonymous Coward · · Score: 0

      Except that the best global illumination techniques - path tracing and photon mapping - involve (gasp) tracing lots of rays. They aren't the standard "start at the eye and reflect as necessary" ray tracing that people think of, but any hardware to accelerate that sort of ray tracing would almost certainly be able to accelerate both photon mapping and path tracing as well. The same cannot be said for rasterizing hardware.

    45. Re:What's the point ... by Goaway · · Score: 1

      So do addition and subtraction, indirection, and object-oriented programming, but you wouldn't argue that a raytracer that used these wasn't a raytracer.

      No, what I argue is this: You get a bigger payoff by laying off the raytracing and just staying with rasterizing. Raytracing costs a lot, and the payback small. There are methods to improve rasterizing that give a bigger payback for far less cost.

    46. Re:What's the point ... by Goaway · · Score: 1

      Yes, but you're unlikely to do them in realtime. Somewhere down the road it may be possible and worthwhile, but currently it is not.

    47. Re:What's the point ... by argent · · Score: 1

      Raytracing costs a lot, and the payback small.

      Raytracing only costs less than what you have to do to get almost-as-good results with rasterizing because you've got a dedicated hardware rasterizer that cost more than your CPU doing the job for you.

      Philipp Slusallek demonstrated a hardware raytracing engine in 2005 that was handling realtime raytracing despite being implemented on an FPGA with about as many gates as (and at a slower clock than) a Rage II... contemporary GPUs were running at 8x the clock and had 100 times the gates, not to mention more VRAM and memory bandwidth. And raytracing is embarrassingly parallelizable, so even if you couldn't do more than stamp that design out a few dozen times (and you could do a lot better than that, the RPU he demoed in 2005 had been severely cut back to fit in the constraints of the FPGA) we could have been handling the raytracing in hardware by now.

    48. Re:What's the point ... by Goaway · · Score: 1

      And raytracing is embarrassingly parallelizable

      Only for trivial geometry. With real geometry, you'll quickly run into memory bandwidth issues, as every single ray can potentially access any part of the geometry.

    49. Re:What's the point ... by prockcore · · Score: 1

      raytracing is also really good at curved surfaces. No need to tesselate everything.. you can use real nurbs.

    50. Re:What's the point ... by argent · · Score: 1

      With real geometry, you'll quickly run into memory bandwidth issues, as every single ray can potentially access any part of the geometry.

      The available memory bandwidth on the RPU was less than the Rage II... to be precise, 350 MB/s (RPU, 2005) versus 480 MB/s on the Rage II.

      The ATI v8650 has 111 GB/s, roughly 30 times the memory bandwidth on the RPU.

      With that memory bandwidth, and a truncated version of the SaarCOR design to fit the constraints of the FPGA, the most complex scene in the SIGgraph paper was only using 60% of the available memory bandwidth with 200M polygons. It only got 4fps for that one, so it was probably bandwidth-constrained... but even assuming there's no other possible opportunities for speedups, I don't see any reason you shouldn't be able to beat 100 FPS on the SunCOR scene at a reasonable resolution, using an RPU built with 2008-quality hardware instead of 1997-quality hardware (yes, the RPU was built in 2005, the Rage II beats it in every spec).

    51. Re:What's the point ... by Goaway · · Score: 1

      If you're doing it slowly and in software, yes. But to get to realtime speeds you either need to make sacrifices, or use hardware (or even both).

      Although if you managed to design hardware that does ray-nurb intersections quickly then you're set. But I'm assuming we'd actually just get simple ray-triangle intersections.

  2. Debate? by Vectronic · · Score: 4, Informative

    "...ray tracing and rasterization debate"

    I don't think there is any debate at all, RayTracing is by far superior, there is just the problem of computing power.

    Anyone (perhaps ask the modelers for the games) who deals with 3D software, knows the benefits of RayTracing for simulating reality (Reflections, Ambient Occlusion, Sub-Surface Scattering, etc)

    And once computing power reaches that level it will even speed up the process of creating games because you can let the RayTracing take care of shadows, reflections, highlights, etc instead of manually mapping them.

    Take a look at anything LightWave, Maya, 3Dsmax, Softimage, Blender, etc spits out of its render engines, or visual effects in recent movies... granted, that's (as stated a few times in the discussion) years away... but, I don't think anyone is arguing against RayTracing.

    (-1 Bastard) ...but...whatever, ive been waiting for real-time RayTracing for years even just within my own 3D applications, nevermind games...

    1. Re:Debate? by HandsOnFire · · Score: 1

      I don't think there is any debate at all, RayTracing is by far superior, there is just the problem of computing power.

      People fail to realize that rasterization is required for raytracing to work. Rasterization is the process taking some object or model that is precisely defined and placing it on a screen made of components. Because of this ailiasing occurs. What's good at removing something ugly like aliasing? Current videocards. Even if ray-tracing were to be dominant, you still need a processor to handle aliasing. Ray tracing could handle the modeling aspect, (including shadows and reflections, etc...) but the rasterization still has to occur. Unless, of course, you are using vector displays :p

    2. Re:Debate? by plover · · Score: 1

      Rasterization is the process taking some object or model that is precisely defined and placing it on a screen made of components. Because of this ailiasing occurs. That's kind of a non-point. Rasterizing and aliasing happens all the time with standard television signals. But I have no problem distinguishing between a rendered actor (a "synthespian") and a human actor. It's not the aliasing, it's the full complement of lighting, shading, texture, model, physics, motion, etc.

      And even if you could perfectly render flesh, hair, cloth, etc., to the point where I couldn't see the difference in a static image, there's still the problem of motion. Human gait is still modeled horribly. Motion capture helps for those scenes when it can be used, but I've yet to see a controllable character with a believable gait.

      --
      John
    3. Re:Debate? by TerranFury · · Score: 1

      Sorry -- maybe I'm missing something -- but what's the problem? You cast multiple rays per pixel, and that's all you need to do; you just average them to get the pixel color that you display on screen. It's basically the same way that current video cards handle antialiasing: Supersampling.

    4. Re:Debate? by Anonymous Coward · · Score: 2, Insightful

      "...RayTracing is by far superior, there is just the problem of computing power."

      And then there's people like me, who would consider this statement to be self contradictory.

    5. Re:Debate? by Anonymous Coward · · Score: 3, Insightful

      You already have raytracing in games, just not in realtime. Why spend the computing power in realtime raytracing when you can bake the static lighting into PTMs (polynomial texture maps), or the dynamic lighting into spherical harmonics maps, and use these to reconstruct the illumination, including self-shadowing effects, with convincing effects, at a fraction of the cost?
      Lightmaps already take into consideration ambient occlusion, check q3map2 for instance, this is nothing new. As for reflections, no one will notice you're using environment mapping, this is specially true if the shaded objects aren't 100% smooth perfect mirror like surfaces - it's a pure waste of processing power.
      The only situation where you could see something obvious about raytracing, is in refraction - water, glass, etc...
      As for shadows, guess what's the 1st thing someone does when he/she finally has raytraced shadows > looks nice, how can i have blurrier shadows?
      And off you go, casting N rays to have basically the same effect you had with multiple shadow maps. This is not to say the existing technology is without faults, only that this raytracing issue seems to have finally caught up with games, and this discussion has been going on for the last +10 years in the traditional CG/VFX area and inevitably the result is always the same > fake the effect, and use raytracing where absolutely necessary.
      I don't see why things would be different in games, specially in games, where you have to save whatever processing power you have available, for more important things, such as maintaining a constant minimum fps ;)

    6. Re:Debate? by forkazoo · · Score: 2, Informative

      Take a look at anything LightWave, Maya, 3Dsmax, Softimage, Blender, etc spits out of its render engines, or visual effects in recent movies... granted, that's (as stated a few times in the discussion) years away... but, I don't think anyone is arguing against RayTracing.

      None of the programs you mentioned is a pure ray tracer. All of them can be used to make images which involve ray tracing, but a lot of great work has been done in those programs without tracing any rays. So, probably not the best example. RenderMan, for example, only added support for tracing rays relatively recently. In most production renderers, you will have simple scan-line style rasterisation done for initial view determination, and rays will only be traced for secondary rays on materials, and shadow hit testing on some lights.

      Coming from a background in animation (which did involve dealing with scenes that involved ray tracing), and some OpenGL programming, these discussions are interesting, but it is strange how heated the debates get, and how people start citing rather nonsensical examples of things.

      If you want to cite an example of a fully ray traced scene, mention anything that came out of POV Ray. It's a pure ray tracer.

    7. Re:Debate? by j1m+5n0w · · Score: 2, Informative

      If you want to do it right, there's actually quite a bit more to it than you're implying. But I do agree that this isn't exactly a show-stopper for ray tracing. Yes, you need a way to plot pixels on the screen, but it's not like that's an unsolved problem. You could probably even do the necessary filtering with a fragment program and give the video card something useful to do between calls to glVertex2f().

    8. Re:Debate? by Anonymous Coward · · Score: 0

      What about this? (Works nice enough, but don't hope to get any fast results.)

    9. Re:Debate? by j1m+5n0w · · Score: 1

      Why spend the computing power in realtime raytracing when you can bake the static lighting into PTMs (polynomial texture maps), or the dynamic lighting into spherical harmonics maps, and use these to reconstruct the illumination, including self-shadowing effects, with convincing effects, at a fraction of the cost?

      Because a) all those maps take up memory that could be used elsewhere and b) they don't take into account moving objects or lights.

      This is not to say the existing technology is without faults, only that this raytracing issue seems to have finally caught up with games, and this discussion has been going on for the last +10 years in the traditional CG/VFX area and inevitably the result is always the same > fake the effect, and use raytracing where absolutely necessary

      Yes, but finally we have a real, downloadable, playable game with full source code available that runs at a usable framerate on a commodity PC with a high level of detail. No, it isn't fast enough to compete with the latest video cards, and we aren't going to see all the big gaming studios drop everything right now and rush to ray tracing, but these games are a significant accomplishment.

      The raster vs ray tracing debate may be quite old, but CPUs are now becoming fast enough to open up a lot of options that weren't available before, and we finally have software that's exercising these new options. I recommend you give Outbound a try if you have a reasonably new Windows machine available; if you're open-minded and observant, you might see a few things you haven't seen before in an interactive game.

    10. Re:Debate? by Targon · · Score: 2, Interesting

      Just because CPU power is at the point where it may be enough, the whole point to having a video card is to offload that work to allow the CPU to deal with "more important" work. Console games tend to be very limited in terms of what is going on around the main character in a game. Sure, the graphics may be an issue, but you don't see games where the main character in a story has to push through a crowd of computer controlled NPCs that are not just there as a part of some puzzle, but are all doing or trying to do something.

      Even on the PC side of things, a game like "The Witcher" really slows down when there are many NPCs in an area. If processor power isn't enough to handle a crowd of NPCs that don't have much of an agenda in a game, how do we have enough processing power to handle the game AI PLUS Ray Tracing?

      If Ray Tracing is the goal, then yes, CPUs are at the point of being able to render a scene, but if you need that CPU to handle anything else, we have a long long long way to go before we have a powerful enough CPU plus GPU to handle it. This is why you won't see a move toward Ray Tracing any time soon.

      In addition to this, the standards are still evolving as far as how to properly render things on a per-pixel basis. The current technology may use "tricks" that are not as good as ray tracing when you are talking high quality, but how long will it be before those tricks are so advanced that there won't be ANY difference to speak of? If Ray Tracing gives a 100 percent perfect rendering, and the tricks allow for something to get to 98 percent, how many people will really notice the difference?

    11. Re:Debate? by TerranFury · · Score: 1

      I wasn't aware that it was common practice to use real DSP-style reconstruction filters in computer graphics. I guess times are changing! I thought graphics cards typically rendered the scene at, e.g., 4x, and then used plain old bilinear interpolation to generate the new one. I remember when nVidia came out with its Quincunx supersampler; their marketing people were making a big deal out of it (and it was hardly an ideal reconstruction filter.)

    12. Re:Debate? by Goaway · · Score: 1

      I don't think there is any debate at all, RayTracing is by far superior, there is just the problem of computing power. That's a common misconception. Raytracing gets you some benefits, but the cost is huge. However, there are many things it can't do either. Global lighting is just as hard with raytracing as with rasterization, but the payoff for getting that right is often far bigger than what you'd gain by using raytracing.
    13. Re:Debate? by cheesybagel · · Score: 1

      RenderMan uses the scanline algorithm, but your graphics board doesn't use that. It uses the Z-Buffer algorithm. I suspect RenderMan only uses scanline for historic reasons. Scanline was mainly used when memory was expensive and RenderMan is decades old. Remember military simulators with Evans and Sutherland graphics? That was probably the last realtime hardware using scanline.

  3. I'd quibble. by jd · · Score: 4, Insightful
    Raytracing is superior to doing nothing, but conetracing, non-uniform conetracing and wavetracing are all superior to raytracing, and all but wavetracing benefit from adding in radiosity. The advantages of raytracing over all other methods are that it is totally parallelizable and can be implemented using a fairly simple set of algorithms, potentially allowing for a truly gigantic number of compute elements on a single die. One big headache, though, is that to get a significant visual improvement, you have to cast a large number of rays per pixel (or you can't do scatter properly) and you need multiple generations (ie: secondary light sources), where each generation needs to be processed twice - once for direct reflection, once for refraction. This would be fine, but it means different rays will take a different length of time to complete, which in turn means that to get smooth motion, you have to calculate the time for the slowest possible path and synchronize to that.

    Typically, however, games manufacturers do NOT mean "raytracing" when they say "raytracing". They mean basic rendering. ie: Applying of shaders and other simple colouring techniques. Renderman, the rendering package used to produce movies like Finding Nemo, uses rendering, not raytracing. Rendering is popular with movie producers because it's fast and "good enough". (Audiences differ on the subject, with plenty of people preferring model-based special-effects because the lighting is real and the reflections are correct - well, they'd better be!) My fear is that true raytracing and physically correct lighting models will be totally overlooked in favour of things that will be cheaper to produce and therefore make more money.

    --
    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)
  4. Intel is the point by jmorris42 · · Score: 1

    In the current model, Nvidia and ATI (now AMD) are the stars of the show. Gamers upgrade their video card at least anually, and now they often buy a pair to run SLI. The CPU is less important. Despite their efforts to force game devels to adopt multi-threaded game engines the uptake hasn't been what they need to drive sales of newer multi-core chips.

    Move the heavy grunt of graphics from the GPU to the Intel Inside, so that gamers must have that octocore CPU and even better a pair of em and make em get wood over the rumored sixteen core chips and hang out at tech rumor websites to get the latest dope on em and Intel is back in charge of the PC world again.

    Yes there are techincal issues, but those don't matter, this is a tech war between the chip vendors. AMD owning ATI makes things interesting, who knows how that will play out in the end, did they buy a GPU maker just as the GPU is dying? Do they have a PLAN that will make Intel the underdog again for a few years of catching up? Stay tuned.

    --
    Democrat delenda est
    1. Re:Intel is the point by robthebloke · · Score: 1

      Despite their efforts to force game devels to adopt multi-threaded game engines the uptake hasn't been what they need to drive sales of newer multi-core chips. Yes they have. I've been working on multi-threaded engines for the past 3 to 4 years on the 360 and PS3 - as has every other programmer in the industry. With PC games however it's a different ball game entirely. For example, here is a list of games i found being used as a benchmark for a recent processor and the dates they were released:

      2006: Warhammer Mark of Chaos
      2007: Supreme Commander
      2004: Unreal Tournament 2004
      2005: Serious Sam 2
      2005: Quake 4
      2006: Prey
      2004: Far Cry
      2007: Crysis

      And in the article they claimed that Crysis was one of the only games that used multiple cores. Well, out of that list, it's the only game to be less than a year old....

      You claim that it's our fault (the dev's) for not multi-threading our game code, but in reality most of the PC games you'll end up playing (a bit of UT2004 after work maybe?) are actually a few years old.... In addition, because the rendering stage is by far the bottleneck, a fully parrallelised game engine may only see a 10 to 20% frame rate increase because of that.
  5. Art Direction by vertigoCiel · · Score: 2, Insightful

    If you haven't, go take a look at the screenshots in the article. Scroll up there, click on the link, and scroll down the page a bit.

    Seen them? Good. They demonstrate one thing very effectively: no matter what rendering engine you use, good art direction trumps technology, every time.

    These games are using "cutting edge" technology, and the article blathers on about how ray-tracing allowed them to use ridiculous amounts of triangles and have "complex lighting and shadows." But they look like crap.

    Contrast this with games like Twilight Princess, Super Mario Galaxy, Ico, Shadow of the Colossus, and Rez. All of them use rasterization on hardware between two and eight years old, but they look fantastic.

    1. Re:Art Direction by Anonymous Coward · · Score: 0

      You might want to note that art is created by 1st and 2nd year students.
      You compare their work to the creations of artists working on AAA titles.

    2. Re:Art Direction by robthebloke · · Score: 1

      And why's that not valid? They are aspiring to work on AAA titles eventually are they not?

  6. art quality by j1m+5n0w · · Score: 1

    I think your definition of "looks like crap" is different than mine. I think they look pretty good. And I think their accomplishment is even more impressive when you consider that Outbound was made by a handful of students in about a year using experimental tools.

    Also, the high-resolution images don't seem to have done much anti-aliasing, which would have improved the perceived quality significantly. (Outbound does support a range of AA settings. Perhaps Bikker didn't want to be accused of submitting images that weren't representative of actual gameplay.)

    Also consider that Twilight Princess et. al. were made on a large budget and likely employed many of the best artists in the industry. You can do a lot with limited polygon counts and pre-baked textures if you have a lot of manpower.

  7. Good ray traced game by gr8_phk · · Score: 1

    Google for rtChess. (you'll probably need to replace the SDL.dll that comes with to avoid a crash on windows) It's got the best chess set models I've ever seen in a game. Of course I'm biased. They're mostly CSG with real curved surfaces. I made them by sketching on some graph paper and reading off 3 points on each curve and making a primitive that took that as a definition. On the performance side, the download is still using a horribly old ray tracer. The newer one (not available yet) is 2-4x faster per core, and also supports multicore. So when we update the game, it won't have to get all low-res when you drag the board around :-)

  8. Re:Debate? - Dont forget TrueSpace by Devir · · Score: 2, Interesting

    I know fully well 3DSMax and Maya are the defacto standard in big shop game developers. Blender is HUGE among open source in indy game shops.

    But the "other" underdog is TrueSpace. I've been with them (Caligari) since version 1. They're now at 7.6. In the almost 10-15 years they've been around they've always been under one guy, Roman Ormandi. It says a lot to me, that he hasn't yet "cashed" out on this amazing 3D hand changing that's been going on with all the other apps.

    3DS started with Autodesk, went to Discreet and i think another owner, Autodesk realizing their mistake bought Maya, and then grabbed 3DSMax back. TrueSpace never had any foster parents the way these apps has, and because of that, has remained "pure" and uncorrupted.

    It may be lacking in a lot of the technologies the other "big guys" have, but it stays pure to their path. The interface (though a lot more clunky than the past) remains clean and efficient to use. Unparalleled customization and tons of features I can't remember and have never used. They incorporated Python into it for scripting.

    I could rave on like a Squirrel crossing the road about TrueSpace. I'll get back on focus now. TrueSpace is a true underdog in the 3D graphics field and IMHO underappreciated. I tip my hat to the team at Caligari.

  9. Re:Debate? - Dont forget TrueSpace by cheesybagel · · Score: 1
    Wikipedia says Caligari was adquired by Microsoft this year. Which is a bit weird to me, considering they bought then dumped SoftImage some years ago.

    I remember trueSpace from when I had my Amiga computer. Back then it was called Caligari and had one of the easiest to use 3D modellers. Seems like RealSoft is also still around. Not to mention NewTek's LightWave of course.

  10. Not mutually exclusive by mraiser · · Score: 1

    Why do articles always take the position that rasterization and ray tracing are mutually exclusive? They are not. Basically both schemes involve determining which pixels in a 2D canvas should be what colors based on the contents of a 3D canvas. Rasterization techniques typically iterate through the elements in the 3D canvas in order to determine which pixels in the 2D canvas to turn on, while ray tracing typically iterates through the pixels in the 2D canvas determining what color it should be by "shooting a ray" through the 3D canvas. But that's just two of the ways to skin the rendering cat! I've long been a proponent of combining the two: Iterate through the elements in the 3D canvas, determine which pixel in the 2D canvas each point corresponds to and, if that point hasn't been rendered yet, "shoot a ray" through the 3D canvas to determine what color it should be. I've recently uploaded a hastily cobbled together version in both pure java and c with a jni wrapper I call "openrender3D" to sourceforge.net that incorporates this approach.

  11. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  12. Re:Debate? - Dont forget TrueSpace by robthebloke · · Score: 1

    Maya and 3DS max definately rule the Games world, followed closely by MotionBuilder and then XSI.

    Blender is probably used a lot in indy development, but i suspect that a far greater number use pirated copies of Max and Maya. (they may claim the assets were created in blender for I don't want to get sued reasons....)

    You're history of 3DS Max is slightly off. Max was published by Autodesk, but developed by Yost. Discreet Bought Yost, and max was then published by Kinetix. Discreet was evetually bought by Autodesk.

    Autodesk already had owned discreet for quite a few years before it bought alias/wavefront a couple of years ago. So Autodesk never really made any mistakes - they never owned Max until about version 2 ish.

    I appreciate you seem to be a fan of Truespace, but in all honesty it's not as serious a contender in the games industry as you seem to believe. (What about Xsi? Modo? Endorphin? Motionbuilder?).

    Ok so it has python scripting, but then so does max, maya, xsi and motionbuilder.

    I also doubt it's anywhere near as customisable as Maya. And i'd also that calgari's marketing bumpf is a load of rubbish. see this.
    Max does not have a fully customisable interface, however you can completely re-write the maya interface - so why do they say you can't customise it? deleteUI $gMainWindow if you really want to...

    They claim XSI, Max and Maya don't have generalised node editors? Are they taking the piss?

    XSI doesn't support multiple rendering engines? You've got to be joking right? Renderman / mental ray ???

    Physics based characters only in Truespace? Pardon? XSI has awesome physics support (with multiple engines), and Maya/Max has the freely available nima plugins to do ragdolls.

    and i could go on....

  13. antialiasing and filtering by j1m+5n0w · · Score: 1

    I don't know what sort of filtering current games do on the final image, but it makes sense to do more filtering with a ray tracer because tracing more rays is so expensive. I expect the technique is more common on off-line renderers.

    (Texture filtering is pretty widely used everywhere, but that's a separate issue.)

  14. AI, cpu resources by j1m+5n0w · · Score: 1

    If processor power isn't enough to handle a crowd of NPCs that don't have much of an agenda in a game, how do we have enough processing power to handle the game AI PLUS Ray Tracing?

    I'm not much of a gamer, but I'm skeptical of the claim that AI is really using all that CPU power. I would guess that most of the CPU resources in a modern game are devoted to managing the complexity of the 3-d models the GPU has to render. But, if we assume that AI and physics really do use the whole CPU, and that the CPU is fast enough to do ray tracing and nothing else, and that Moore's law holds, t hen we can just wait another 18 months and have a CPU that's fast enough to do both at the same time. I don't really see this as a show-stopper for ray tracing except maybe in the near future (the next five years or so).

    Also, consider that the ability to trace rays is not just useful for graphics but also for physics and AI. Storing all that geometry data in one place rather than having one copy in the video card and another copy in memory for the physics and AI seems like a good idea to me.

    Also, it's pretty likely that if ray tracing does become popular, we'll have some form of hardware-accelerated ray tracing eventually, making your concerns moot.

    If Ray Tracing gives a 100 percent perfect rendering, and the tricks allow for something to get to 98 percent, how many people will really notice the difference?

    There are several reasons. Firstly, I don't think it's realistic to say it's a difference between 100% and 98%; if I had to make up some numbers, I'd say it's more like 50% vs 60%. Rasterization algorithms are never going to be confused with reality without a lot of pre-baked lighting effects and a lot of squinting, no matter how many polygons they can handle. Polygon counts aren't the only measure of realism.

    Whitted-style ray tracing isn't really all that realistic either, but with ray tracing there is a more obvious upgrade path to real-time global illumination, which is where we're going to have to go in order to get to 98%. (I recommend you spend some time browsing Henrik Jensen's web page if you want to know what I mean.)

    Also, ray tracers are in many ways easier to work with (as the article attests). Artist can focus on the actual art, rather than being distracted by all the little tricks you need to do to make everything work. Ray tracers are also less sensitive to scene complexity, so artists are less constrained about the kinds of details they can show. Tools that are easier to use translate to better games on smaller budgets.

    1. Re:AI, cpu resources by Targon · · Score: 1

      The difference between "The Witcher" and other computer games is that every NPC in an area has a scheduled script that runs all the time. Most games have the majority of NPCs just standing in place or wandering randomly without considering the time of day, so the AI needed for NPCs doesn't require as much.

      This is why I suggested that in a game where you have dozens of NPCs each with their own agenda in an area that it would take a LOT more CPU power than most people might expect. I don't know if there is a decent level of multi-threading in that particular game though, so that could have something to do with it.

    2. Re:AI, cpu resources by j1m+5n0w · · Score: 1

      I don't know if there is a decent level of multi-threading in that particular game though, so that could have something to do with it.

      Also, a big factor would be whether the AI is written in something like C or something like Python. I don't doubt that there are a multitude of ways of implementing AI that would suck up all the CPU resources available, but assuming a computer fast enough to do real-time ray tracing, and assuming the NPCs don't have to be good "go" players, a sensible implementation ought to be able run AI scripts and do ray tracing at the same time.