Real-time Raytracing For PC Games Almost A Reality
Vigile writes "Real-time raytracing has often been called the pinnacle of computer rendering for games but only recently has it been getting traction in the field. A German student, and now Intel employee, has been working on raytraced versions of the Quake 3 and Quake 4 game engines for years and is now using the power of Intel's development teams to push the technology further. With antialiasing implemented and anisotropic filtering close behind, they speculate that within two years the hardware will exist on the desktop to make 'game quality' raytracing graphics a reality."
Or is it? Simply means games will appear more eye-candy than they currently are. Gameplay will not change. EA will continue to use take last years sport game, through some new people into it, perhaps introduce some bug which makes it unusable and peddle it as The New Deluxe Edition. I wonder how many geometric objects it will be able to handle (and whether it handles transparancy with textures and patterns well) Having done a bit of raytracing I'm familiar with how quick things can bog down. It'll probably be a bit clunky at first, but get much better as horsepower and horsepower/dollar ratio improve.
There was some game I played on an Amiga (got that? A really old computer) where I raced around in an aircar zapping stuff (some bastard borrowed the game and I've never seen it since!) Very nicely rendered graphics, beautiful even, nearly looked ray-traced. Must have been about 15 years ago.
While I look forward to more realistic, or creative and beautiful gamescapes, do keep in mind -- we were all blown away by the first high quality animated films, now almost everything animated is rendered, raytraced, etc. and there's a lot of junk out there now. So this will be exciting for about 2 years then become "meh".
Lastly, they've got to get the motion down. Characters in games, including sports, look so damn wooden in their movement! That's where real improvement needs doing.
A feeling of having made the same mistake before: Deja Foobar
I grew up with video games where the blob of pixels barely resembles anything. The power of gameplay, lasting gameplay far outstrips graphics. Not that a little eye candy doesn't hurt. I guess the core problem is that nothing Intel produces can run time optimize "Lair" into "Tetris" or otherwise correct for this.
www.voiceofthehive.com - Beekeeping and Honeybees for those who don't.
...but Q4RT seems to have handicapped most of what makes the Doom 3 engine so impressive-looking to begin with. The reflection effects sure are nice, but it's a long way from making anything comparable to modern methods.
Sure is interesting, all the same.
I was a founder of Deep Productions, one of the Chicago's first rendering farms about 15 years ago. I recall having dozens of Pentium 60s (Were they called Pentium Pros back then?) with 512MB of RAM (if I remember correctly) running a variety of rendering programs (usually 3D Studio, but others based on clients needs). IIRC, a single raytraced frame took about 20 minutes. 2 dozen machines churning full speed were able to render approximately 60 fields per hour, or 1 second of animation in an hour.
I exited that market and Deep eventually moved out of that field entirely, but looking back, I can't believe we made the money that we made at the time. Now that ray tracing is getting closer to real time, it gives me a few minutes pause to realize how much technology has changed in ways that the AVERAGE consumer has no understanding of -- and doesn't need to. In the end, I'm glad that so many entrepreneurs take risks so that consumers needs (and yes, entertainment for some is a need) and wants are fulfilled, without those consumers even knowing the process necessary to get there.
Most people who pine for better game play are not looking hard enough. Generally they suffer form a severe case of nostalgia. Back int he bad old days for each Super Mario brothers or Missile command there were 4 ET's, Coeleco smurfs or Custer's Revenge. You just don't remember them. The past wasn't some golden age where game play trumps graphics. IT was a place where event he brilliant games had significant control issues, where top shelf games wouldn't been be considered tier 3 dreck today. Take a much maligned games liek Lair, is the basic controls any worse then say NARC for the NES? but NARC was a "good" game for it's time while Lair is a maligned as crap. I haven't played lair but bad controls are no longer acceptable.
There is game play innovation today, and it doesn't have to be independent of pretty graphics. In fact the people responsible for the game play aren't the ones responsible for innovative game play. One does not diminish the other. Good game play is also not the same as innovative game play. They coincide for instance in games like Katamari damacy but often innovation ~= unpolished ~= crap. What we're all looking for is polished game play. It never changes that around 80% of everything will be considered crap. So just rmeember that back int he day 80% of everything was crap too but you just don't remember. So they can ray trace graphics, thats awesome. Will it diminish gameplay.. not really you'll still have 80/20 rule. It's not an indication that things were better then before only that your brain works in a funny way.
"There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy."
I wonder if this is still relevant.
Don't get me wrong, I love raytracers, but what once was their exclusive domain (reflections, shadows,...) has been done in a "fake" but very convincing way since the few latest generations of 3D video cards. What's left? True refraction? True curved surfaces? Is it that important? I tend to side with the "give me gameplay" crowd here.
Realtime caustics and global illumination, on the other hand...
My website
The problem with faking everything is that it quickly breaks down as your needs get more complex. For example, I've been working with a colleague recently on doing some nice, fast, impressive fake effects - most notably a system that can simulate a light shining through stained glass (not just a straight texture projection). We came up with a novel and fast way to fake it, but it completely breaks down if, say, two stained glass windows are in-line and you try to shine a light through... It simply doesn't work.
The advantage of doing things "for real" are that compatibility between your different effects is almost guaranteed, and your coders don't have to spend immense amounts of time curing those problems.
"Hey look, the photons accurately react with the environment according to current laws of physics! Finally they figured out how to make games fun!"
:-\
The obsession with graphics is ruining the gaming industry. Compare the PS3's sales to the Wii's for evidence.
- O(log n) in the number of objects in the scene
- O(n) in the number of primary rays, generally some multiple of the number of pixels on the screen (though it might be a bit less if you're using MLRTA)
- O(n) in the number of lights (though there may be some shortcuts) if shadow rays tests dominate
- O(something big) if there's a lot of reflective and/or refractive objects and you don't do anything to mitigate the rampant recursion
- O(n log n) in the number of photons, if you're using photon mapping
- O(n log n) in the number of objects that moved since the last time you rebuilt the acceleration structure
That first one was what the original post was refering to. (Tracing a single ray is O(n log n). Tracing a pixel involves sending one or more rays and a shadow ray for each light for each primary ray that hit an object. Tracing a whole image involves tracing a lot of pixels. If the number of pixels and the number of lights are assumed to be a constant, they drop out of the big O equation. It's a very big constant, though, and that's one reason why ray tracers are so slow. However, once you get enough CPU to compensate for that large constant, the algorithm starts running pretty fast, and it doesn't slow down much at all when you throw lots of geometry at it.While I am not sure that realtime raytracing will really be the next big thing, I think there are unintended consequences you overwatched.
Today, most CG effects must be hard coded, using tricks, shaders, complex modeling techniques, multiple passes, etc... In the raytracing world, as you are aware, the engine is easier to use, and I would also say, easier to code. It is also very easy to parallelize (so a specialized card could bring HUGE performance gains) and require few modeling tweaking compared to the current T&L world. In a raytracer, shadows (including self-projecting), reflections, refractions, bump mapping, displacement mapping, etc... are an integral part of the renderer, they are not a lot of different modules stacked on top of each other. Bringing down the complexity of the rendering engine hopefully frees more resources to work on other parts of the game.
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.