Real-time Raytracing For PC Games Almost A Reality 292
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."
Big improvement on the way (Score:5, Interesting)
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.
Re:Big improvement on the way (Score:5, Informative)
Re:Big improvement on the way (Score:5, Insightful)
I'll have to disagree with that. For many people "right" looking shadows are like the movies and television shows. Shadows and light/dark interplay in these environments are far from natural and even in ray-traced environments, animators laboriously juggle "fake" light sources to make the shadows "right" looking.
Also "single" bounce reflections are essentially "solved" problems with triangle rendering (environment maps), so only real advantages of ray tracing are "multi-bounce" and "self-shadowing" which are somewhat easier to solve in a ray-traced environment instead of a triangle rendered environment. Although sometimes these are interesting effects, they generally fall in the "eye-candy" side of the fence today and developers rarely spend much time on these (or so we hope given the state of game-play and AI in todays games), and they generally just implement canned solutions (e.g., some self-shadowing bump-map pixel shader technique) for certain "effects".
Re: (Score:2)
I'll have to disagree with that. For many people "right" looking shadows are like the movies and television shows. Shadows and light/dark interplay in these environments are far from natural and even in ray-traced environments, animators laboriously juggle "fake" light sources to make the shadows "right" looking.
So then, in a ray-traced environment, couldn't developers just install virtual stage lights in the environment to re-create TV and movie lighting in the gameplay? Sort of the same way that Nintendo made the Zelda game look like it was animated?
Re: (Score:3, Interesting)
In case that wasn't clear in my response, developers do use virtual stage lights to make shadows look good in ray-traced environments (just like they do it in triangle rendered environments).
The time spent is in tweaking the location of those virtual lights to get sha
Re: (Score:3, Insightful)
Re:Big improvement on the way (Score:5, Interesting)
E.g. raytracing solutions will free up developers to implement more-dynamic scenes, more-dynamic lights and level designs where buildings and cities aren't glorified mazes where 90% of the architecture is an impenetrable facade.
(Sure, some titles feature those sorts of things now - but they're expensive tricks, with severely limited implementation)
Re:Big improvement on the way (Score:4, Insightful)
Re: (Score:3, Informative)
Want to blow a hole in that wall? Instead of having destructible section pre-modeled, you just boolean subtract the shape of the explosion. Is it a brick wall, so the hole should have jaggy bits? Just run a greebling [wikipedia.org] algorithm on the edges.
Want to have breakable glass? Instead of having to make all your windows o
Re: (Score:3, Interesting)
This isn't a semi-literate junior high textbook, you don't need to highlight the important terms for us -- we're perfectly capable of figuring those out from context, thanks.
But yes, you're absolutely right about the necessity of lighting design to create dramatic lighting even with raytraced rendering. Most modern 3d-accelerated raster technologies are similar enough to raytracing in their effect that environmental lighting workflows shouldn't cha
Re: (Score:3, Insightful)
Re: (Score:2)
Uhm, no, I doubt that these 'real-time' rays tracers do environement mapping, so they will give 'hard shadows' which are still incorrect, so they will still have to work on them to get them right..
One downside of many ray-tracer is that they work better on static environement so the eye-candy has a price..
Re:Big improvement on the way (Score:5, Insightful)
Re: (Score:2)
The relation to games is that we'd always rather play the game with more realistic looking graphics. How many times do I hear gamers say, wow the gam
Re: (Score:2, Interesting)
Re: (Score:3, Insightful)
I think the grand-parent's point still stands.
Re: (Score:3, Insightful)
Re: (Score:2)
Re:Big improvement on the way (Score:4, Interesting)
Untrue! Ray Tracing is a lot more flexible method of rendering than previous engines have allowed. Many engines have claimed features like "destructible levels and terrain", but the engines were never fast enough to give both the eye candy demanded by the market and an engine capable of such free-form interaction. Ray Tracing could change all that. Programmers could no longer be limited by BSP trees, visibility trees, polygon count, and other requirements imposed on traditional engines.
Graphics-wise, ray tracing could open new doors as well. For example, 3D adventure games haven't really taken off because it's harder to insert clues in the areas. A painting on a wall, for example, will tend to be slightly too blurry to see a clue embedded in it in a true 3D environment. Ray tracing allows for more precise rendering that would make the painting crystal clear from all perspectives and distances. Which means that the game designer could actually make it visible that the subject of the painting is pointing at a hidden door without making it so obvious that it destroys the enjoyment of the puzzle.
What I'm getting at is that graphics improvements have been one of the factors that have allowed game creators to explore new game genres in the past. While the 3D-age has often focused on rendering quality to the point of forgetting the purpose of graphical improvements, that's not to say that a major switch in technologies couldn't bring new gaming experiences with it.
Re: (Score:2)
Re: (Score:2)
Of course. Such is the nature of the beast. The key is that it will be a different set of limitations. The key features (e.g. high detail, large number of objects, simplified lighting) are present in nearly every real-time raytracing engine I've seen. Which means that these features are something programmers will most likely be able to count on. :-)
Re: (Score:2)
Re: (Score:2)
Aren't such issues also relevant to raytracing? Models are still going to be polygon-based, and unless you plan on doing a linear search over all the polygons in the scene for every ray emitted, you'll still need a spatial index (BSP, etc.) to speed up ray/polygon intersection tests.
Re: (Score:3, Insightful)
Re:Big improvement on the way (Score:5, Informative)
With raytracing, there are lots of new possibilities. For one thing, reflection and refraction actually work like they do in real life. That means accurate mirrors, lenses, and water refraction. Lights can work accurately if you want them to, and radiosity can be precomputed for static scenes. That may just be eye candy to most people, but there are potentially game-play enhancements that make real life optics part of the game. Most of it (except good lenses) has been faked before with rasterization, but raytracing will actually let you set up a series of mirrors and telescopes to peek around corners in a FPS for instance. I can imagine a true hall of mirrors in an FPS would be at least a little more interesting than what we have now, too.
The other big technological benefit of raytracing is that it's asymptotically faster than rasterization. Raytracing is O(log n) versus O(n) for rasterization, which means that even though raytracing is currently slower (the constants involved in raytracing are higher), after the break even point is passed much less of the available computational power will be needed to render the scene and can instead be used for physics and AI.
Re: (Score:3, Interesting)
Not disagreeing with you here, but what's "n"?
Re: (Score:2)
Re: (Score:2)
Hell if I know. But as a failure in both math and programming, I can tell you that I think it is a description of the efficiency of the formula that the workload is going through. I think he means to say that the gains in efficiency will increase relative to rasterization as the detail of the scene increases.
Re: (Score:2)
I am assuming that's what he meant as well. If that's the case, and we define "n" as some metric of scene complexity, then I'd like to see some support of the claim that rasterization is O(n) and raytracing is O(log(n)).
Re: (Score:2)
Re: (Score:2)
N is the number of graphics primitives in the scene (usually triangles, but raytracing can also use more complicated primitives such as spheres, cylinders, and boxes). For triangle-based scenes, the turnover point between rasterization and raytracing is believed to be somewhere between 10,000,000 and 100,000,000 triangles. Current game levels are often in the 10,000,000 triangle range.
Re: (Score:2, Informative)
Re: (Score:2)
Re: (Score:2)
1. objects in the scene
2. resolution of the viewport (I know that back in the day, POV-RAY was a whole lot faster on the same scene at lower resolutions.)
3. lights in the scene
4. "materials" of the surfaces / reflectivity of the scene
Others?
Layne
big O (Score:5, Informative)
I think what he meant is (Score:4, Interesting)
People sometimes get a little too giddy talking about Big O notation. Yes, something that scales logarithmicly rather than linearly will eventually be faster, but it kinda depends on where you are now if that will happen any time soon and thus is worth worrying about. To use arbitrary units, suppose at an 'n' of 1000 is the intersection point between the line for rasterization and the curve for ray tracing. So when we pass 1000, it starts to be a case that ray tracing is more worthwhile. Now suppose that current generation of graphics is 100, and it grows at a rate of 2 per year. Ya... Ok, not going to be worrying about that any time soon.
I think that was his point is that just saying "But it's O(log n)!" doesn't mean it is necessarily better at this point.
Also there is the silicon problem to be considered. We don't do our graphics on general purpose processors, we do them on highly specialized DSPs that actually have only recently gained turning completeness (and aren't very good at it, they are really slow at branching among other things). The graphics we see today are possible only because we can make a special purpose processor that can accelerate them very efficiently. Can the same be done for raytracing? I don't know. I mean I'm sure it is possible to an extent, especially since it is a very parallel problem, but that doesn't mean that we will be able to as efficiently accelerate it.
So while it is appreciated that at some point, on equal general purpose hardware, ray tracing is more efficient that isn't the question. The question is What is that point (and how soon will we reach it) and does that carry over to the special purpose graphics hardware?
Re: (Score:2)
Raytracing does quite well on specialized hardware. A CPU that is almost exclusively SIMD units (such as the Cell) is almost perfect for the job. Some impro
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
But I envision the first forays into real-time raytracing will give me some more flexibility into my sports games. I'm going to design a sports team, The Primitives, with the following line-up:
Peter "The Plane" Pizzorni
Colin "The Cone" LaMonde
Samuel "The Sphere" Tomali
Kyle "The Cube" Cayso
Terrell "The Teapot" Tyson
One of the first matches will be against the Nurbs, but the whole point of the game is to really hawk my new line of athletic wear, CSG: "Co
Unintended consequence (Score:5, Informative)
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.
Re: (Score:2)
Give me gameplay. (Score:5, Insightful)
Re: (Score:2)
Oh...so a game worth buying then?
Re: (Score:3, Insightful)
arcade Pac-man was awesome game play for it's time. I doubt I could stand more then 10 min of it. Super mario brothers was awesome for it's time. I doubt I could ever finish it again without being bored silly. Final Fantasy 6 was awesome for its time. I could play it still all the way through once a year. But my younger brother gets bored to tears. Gameplay dates itself too. We suffer from nostalgia, you and me. Gameplay is fun. Eye candy is fun.
Re: (Score:2)
It's *awesome*. And good for way more than ten minutes.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Layne
Better graphics != worse gameplay (Score:3, Insightful)
PS2+ games are t
Re: (Score:2)
The argument is that game designers and artists come from the same budget, so if a company invests heavily in one, the other suffers.
Visuals are a lost cause. (Score:3, Insightful)
Re: (Score:2)
And good graphics don't have anything to do with the complexity of the game. Look at Nethack. It's all done in an 80x24 console, but it's a more
Sounds promising. (Score:2)
I remember back in the day... (Score:2)
Youtube videos are still too low-res but I've seen some of the high-res renders of current games like Armed Assault [wikipedia.org]. Wow, takes your breath way. The only shortcoming for realism at this point is they're still having t
Not to be a wet blanket... (Score:4, Interesting)
Sure is interesting, all the same.
Wow, real time -- glad I left that business (Score:5, Interesting)
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.
Re: (Score:2)
Raytracing is "embarassingly" parallel (Score:4, Insightful)
Raytracing comes under a class of problems that are embarassingly parallel. Want to render 2 million(~1920x1020) pixels? Send them to 2 million processors(cores) simultaneously and get results back. This is possible because there is rendering each pixel is independent of rendering another. Note that all the data required(like textures, lights, etc.) should be available to all the processors, so SETI style high latency computation is out of the question.
What makes it interesting is that the gigahertz race is done with and has turned into a "core" race. Intel was already showcasing 80 cores on the same chip. A few cores dedicated to Phong shading algorithms and radiosity and the rest to ray tracing would simply overshadow the current raster rendering. Also, raytracing is mathematically elegant and simple compared to all the dirty tricks employed by current graphics technology so it should make programmers' lives easier(unlike the Cell processor which is a nightmare to code for).
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
Re: (Score:2)
Not quite. SLI is parallel on the scanline-level (that's why it's called "scanline interleaving", remember?). Internally, GPU's themselves are highly parallel architectures by nature. One can think of tens of different ways to distribute rendering operations over parallel hardware, many of which are actually used by modern GPU's.
Re: (Score:2)
Still, it's true that raytracing parallelizes much more nicely than polygon-drawing.
Not the shiny new hammer (Score:2)
The advantages lie in refraction/reflection/shadows/translucency, which are painful to implement with rasterizers.
Thus, a hybrid seems to be the best idea. Rasterizer as default, with a special "shootray" instruction in the pixel shader.
Re:Not the shiny new hammer (Score:4, Interesting)
Actually, there's a big advantage. Raytracing is O(log n), but rasterization is O(n). OpenRT's demo [openrt.de] of a 350 million triangle model of a Boeing rendered in real time on a single PC (without GPU support) is a good example. The entire model doesn't even fit in memory, so visible surfaces are cached. The result is still realtime (although only a few FPS) with incredible detail. Go slashdot the server and watch the movie. Modern raster based cards can only render that many triangles in a whole second with all their fancy hardware, if they're lucky.
Re: (Score:2)
That said, a 8800 card CAN render 350 million triangles...
Re: (Score:2)
Handhelds first? (Score:4, Interesting)
And to the above posts bemoaning the focus on graphics over gameplay, remember if they get a good real-time raytracing system in place then that frees the dev team up quite a bit. No longer having to work so hard on faking proper lighting, they can then focus on the more important things like gameplay/AI/physics.
Re: (Score:3, Interesting)
It's just not worth it.
These days, games are often ported from platform to platform with fairly portable code (ie, written in C with platform specific low level stuff in ASM if required).
The second you put a raytracing platform out, every conventional raster graphics engine on the market becomes extremely
Re: (Score:3, Funny)
Because rendering a scene of a set level of complexity using ray tracing is vastly more compute intensive than the alternatives and nobody wants to buy a handheld that weighs 30Kg and requires a portable diesel generator.
Would you like spectacularly obvious answers to any other questions while I'm here?
Gameplay vs Graphics (Score:5, Insightful)
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.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Good thing for you, smaller games have made a come-back. Sony, Microsoft, and Nintendo have online stores chalk full of smaller games. Their all pretty but in a more modest sort of way unlike some of the baroque epics.
Also innovation != fun. ET was innovative in many ways. It sucked donkey testicles. Liar has a innovative control scheme. One that doesn't work too well gi
Re: (Score:2)
Is it still relevant? (Score:5, Interesting)
Don't get me wrong, I love raytracers [mysterystudio.com], 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...
Re: (Score:2)
Define gameplay. As many point out graphics and gameplay aren't mutually exclusive and often handled by different teams. Play Q&A, game designers, producers, directors handle Gameplay. Graphic artists and game engine coders handle graphics. They work in parallel and often 80% of everythign is crap anyways. Want gameplay, try elite beat agents. Want gameplay and graphics, try Gears of war. Want just graphics, try liar.
Re: (Score:2)
Re: (Score:2, Informative)
This is super important because no matter how many cores you have, the bottleneck will still be going
Ya I haven't really seen many benefits (Score:3, Interesting)
I'd much rather have good, fast, fake stuff than something that is do
Re:Ya I haven't really seen many benefits (Score:5, Informative)
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.
Re:Ya I haven't really seen many benefits (Score:4, Informative)
Just wanted to add a bit more explanation of this. Lightmapping has traditionally been the most effective way to get radiosity in a scene while still remaining real-time. When effects like normal and parallax mapping came along, lightmaps were suddenly incompatible. It took Valve to sort this out (though their solution is far from ideal), and only now, with UE3 and Gears of War, does it actually look halfway decent (Half-Life 2's solution washed things out, it's as if the normal mapping simply isn't there).
To solve the problem of two fake effects being incompatible, Valve invented a new fake effect to bridge it. You can imagine what happens when you start trying to mix a large number of effects. This is why the holy grail is still real-time raytracing - it's also a bit like why we want to have the Theory of Everything, as opposed to a bunch of little physics theories that each apply to a special case.
Re: (Score:2)
Re: (Score:2)
Smoking Server (Score:2)
Re: (Score:2)
Alright, where's the jester that put his raytracing software in the server!?
Nice idea, but.. (Score:2)
I don't think so. Within 2 years GPU power will have increased a lot as well, and polygonal rendering already approaches raytracing quality right now, with anisotropic filtering/antialiasing, very high polygon counts, very high-res textures with programmable shading techniques, etc. Stuff like photorealistic shadows, glass effects, refraction etc, its all very nice, but for fast-
Re: (Score:2)
If the answer is "Because it will look better", I'm with you. No it won't look better in 2 years. Polygonal rendering will look insanely good in two years. Realtime Raytracing will be an interesting graphical curiosity in 2 years... in the same vein as Novalogic's voxel graphic games were in the 90's.
Re: (Score:2)
Ray tracing is actually more efficient. With the scene in a proper data structure, ray tracing can be O(log n) for a scene w
Here's the reason its not here now... (Score:3, Interesting)
Resolutions have gone up enormously. Polygon count has gone up enormously. If we talk the sort of quality scenes we were rendering in 1993, it was only a few more years before it was possible to do them real-time... but at that point models were 10x more complicated and you weren't rendering for 320x240, you were looking at 640x480. Now we're doing millions of polygons at HD resolutions.
As long as people want more polygons, more texture detail, and higher resolutions, realtime raytracing will never be a production reality. Better hardware, faster CPUs, etc are all consumed quickly to handle richer environments and then suddenly there isn't overhead for raytracing anymore.
Sigh (Score:5, Insightful)
The obsession with graphics is ruining the gaming industry. Compare the PS3's sales to the Wii's [msn.com] for evidence.
rendering hardware (Score:2)
so.. ray tracing is in many ways easier than current techniques, meaning the hardware to do it is more generalized, which has two benefits: it can be highly parallelized (ie, easily makes use of many cores, which is now the trend in CPUs as well) and it would likely result in GPU's that are even more usefull for general computation. This would expand the
THATS AWSOME! (Score:2)
(for the impaired, insert sarcasm above and read between the lines)
But is it needed? (Score:3, Interesting)
Sometimes I think he's right. While I can see the merits of high definition and DTS, I've also seen plenty of films that seem to rely entirely on CGI and pretty graphics but have a weak plot (and plenty of games too for that matter). I hope this isn't going to make the developers spend even more time making textures, models and scenes just because you can see them so clearly.
Raytracing hardware is what's really needed... (Score:3, Interesting)
Here's an article I've dug out of the Wayback machine and cleaned up, Raytracing vs Rasterization [scarydevil.com]. Phillip Slusallek's home page is here [uni-sb.de], and you can follow that to SaarCOR and OpenRT. They built a prototype RPU (R for raytracing) that at 66 MHz was comparable in performance to a 2.6 GHz P4. The video [uni-sb.de] is pretty impressive, considering how slow the hardware is.
Re: (Score:2, Insightful)
Sure, Intel like to talk about their 80 core x86 chip, but when it comes down to it I'm fairly certain that to get anything better than 'barely acceptable' you'll have a beast of an accelerator from nVidia or AMD. However it may make it easier for Intel to elbow into the game.
Note that you could
Re: (Score:2)
This and several similar research projects at Intel exist solely to develop tools and heuristics for game developers - to make it easier for Intel to urge them into supporting their new product. My guess is they're going to position these chips as a panacea for next-gen consoles. We can expect to see alot more 'news' like this, talking
Re: (Score:2)