NVIDIA Shows Interactive Ray Tracing On GPUs 260
MojoKid writes "During SIGGRAPH 2008 in Los Angeles, NVIDIA is demonstrating a fully interactive GPU-based ray tracer. The demo is based purely on NVIDIA GPU technology, and according to NVIDIA the ray tracer shows linear scaling during rendering of a complex, two-million polygon, anti-aliased automotive styling application. The article reproduces screenshots from NVIDIA's demo. At three bounces (rays being traced as they bounce three times through a scene), performance is demonstrated at up to 30fps at HD resolutions of 1920x1080 for an image-based lighting paint shader, ray-traced shadows, reflections and refractions running on four next-generation Quadro GPUs in an NVIDIA Quadro Plex 2100 D4 Visual Computing System." Meanwhile reader arcticstoat passes on Intel's latest claim that rasterisation will die out the next few years, possibly in favour of ray tracing.
What a waste of resources (Score:5, Insightful)
I just looked at those pictures and then checked a high res shot of Gran Turismo 3 Prologue on a PS3:
http://o.aolcdn.com/gd-media/games/gran-turismo-5-prologue/playstation-3/22.jpg
I don't see enough of an improvement to increase GAMEPLAY in any significant way. The reflection maps and shadows that are created by the current rasterization tricks are good enough that you suspend disbelief.
I'd much rather the increase in GPU power be used through a GPGPU API for artificial intelligence, advanced physics simulations, fluid dynamics, flocking behavior or other things which could really add to gameplay.
A few extra reflections and slightly softer shadows???? I won't even notice and neither will the average gamer.
Re:Beautiful (Score:5, Insightful)
The technology is probably better than that but the actual screenshots are distinctly ugly for this day and age.
Of course, but when? (Score:5, Insightful)
As to when rasterization will be replaced, the short answer is not any time soon. The article's title is misleading. It says "Intel: Rasterisation will be replaced in five years", while Intel's ray tracing guru Daniel Pohl actually says "Looking ahead five to ten years from now, I believe that rasterisation will be used less and less in games". Big difference there.
So, I think this will progress quickly, but we won't be getting rid of rasterization any time soon.
Re:What a waste of resources (Score:5, Insightful)
Re:Beautiful (Score:4, Insightful)
Intel's last demo was running on 8 GPUs wasn't it? On those were GPUs designed for ray tracing I thought.
I like Nvidia's approach to use existing architecture, and I agree with the poster above who says this is a much better method for consumers.
I disagree however with Intel saying rasterization is dying any time soon. Intel and Nvidia can't produce these effects with reasonably priced hardware, and even when the hardware becomes affordable, we still need games designed for this, and then a few years for the technology to be accepted by the masses.
I say rasterization sticks around 3-5 years.
I wonder (Score:3, Insightful)
Meanwhile reader arcticstoat passes on Intel's latest claim that rasterisation will die out the next few years, possibly in favour of ray tracing.
I'd love that to happen.
But reality is that several best games I have played were ... 2D.
Intel, Good luck adding RT to 2D graphics. ;)
RT in my experience is rather expensive - on end of development. Not all games manage to exploit all lighting models. And RT needs that even more than actual 3D graphics. It would take some long time for games to adopt it. On side of CADs picture is much simpler: they are easy to fork $$$ for good and fast rendering.
Re:Beautiful (Score:3, Insightful)
They're nice work, but c'mon, how about some demo VIDEO instead? I'd love to see the full effect of the reflections in the Windows and chrome of the wheels, and the way the lighting moves...
Re:don't quit your day job quite yet (Score:4, Insightful)
Umm, no. I admit it's been a while, so my memory may be off, but I distinctly recall that procedural textures in ray-tracing are really, really easy, and add almost no (necessary) overhead to speak of. If you can find a way to do those things you mentioned with a procedural texture (those cases you provided are the textbook examples of how to do procedural textures, mind you) then you can almost certainly do them easily and cheaply. Any graphics course will have you rendering textured oranges inside the first week of the ray-tracing portion. Rainbowed CD undersides and the cool microscopic rings on the underside of a brass pot the day after that.
I don't remember the implementation details, as it's been many years since I tried, but it's easy, and doesn't add any real overhead to speak of. Yes, when running procedural textures, you CAN make them heavy (it's a procedure: it'll do whatever the hell you want) but by no means is that a requirement.
Which do you think is worse:
Not to mention that if anything even close to the support given to the current texture models is given to procedural texture models, they will almost instantly outpace the current options and limitations.
Did you ever notice that the early-generation ray-tracers supported procedural textures long before they supported the "regular" texturing model? There's a reason for that.
-G
P.S. Yes, I'm fully prepared for nit-picking you-used-the-wrong-word-here responses, so fire away. :P
Re:Beautiful (Score:5, Insightful)
I think if you look closely you'll see that they used materials very sparingly. The man behind the curtain (IMO) is that they're dedicating all their GPU and memory bandwidth to ray tracing computations, at the expensive of traditional raster manipulations.
Who cares? Well, I think if you're playing a game where you are free to run where you like, you may care.
I agree, nVidia is showing that ray tracing doesn't scare them at all. And when it's ready to happen, it will. I disagree that it's ready to happen any day now.
Re:That's a nice canned post ya got there (Score:5, Insightful)
You're just sore that you didn't get to annoy a lot of people with your frist post or gnaa rubbish.
Re:Beautiful (Score:4, Insightful)
I absolutely do not understand the issue fully, but here is my take: in the early 90s, ray traced graphics looked way better than anything else. You could render a ball and people would say, "wow, that is so cool!" it took 30 minutes to render, but it could be done.
Since then, 3D rasterization has come a long way. With texture mapping, commodity 3D graphics hardware, pixel shading, alpha blending, etc, we have games that look really, really good, without ray-tracing.
Now ray-tracing is starting to become possible in real time, and I guess people are remembering how good it looked in the 90s and thinking it must still be the holy grail of graphics. In theory it's a good idea, render everything the way real light does.
The ultimate question has to be: does it look better? Or is there another way we can use that processing power that will make the graphics look even better? My guess is that ray-tracing is a technique that will be useful in some ways, and will be mixed with techniques we already have now. Much like today we use 2D texture maps on 3D objects, and it looks good.
Re:Beautiful (Score:3, Insightful)
The reason ray traced images often look very realistic isn't because they're ray traced, but rather because they are done offline and as such can take ages to do the calculations required for a realistic lighting model. What can be done given enough time doesn't matter. What is efficient enough to be feasible real time is.
Raytracing may be "closer to simulation", but that's completely irrelevant when the performance isn't there for the quality of the output. Can you honestly tell me you think the shadows in Nvidia's demo look better than the ones in, say, Crysis?
Re:Beautiful (Score:2, Insightful)
When rendered at 60fps in a fast paced car game, are you going to ever notice those minute details? Would you even care?
For the record, I think the quality of the images are pretty poor. Just look underneath the car at the back wheels (pic bottom left). The shadow colour is uniform, there's no texture, no detail, no ambient occlusion, the shadow edges are sharp, etc. For another example, take a look inbetween the 2 signs - now look down just a touch. Pretty horrible imo. Now move down just a little bit more till you get to the traffic cones. That red is most definately wrong. It's the same colour as the rear car lights. Due the distance it is from the camera, there should be some saturation fade on that colour (Notice that the traffic lights are all green, and that green is identical on all instances - regardless of distance).. Now look at the building directly behind the 'No Trucks' sign. See how there's a graduation in colour saturation from top to bottom? WTF is that about? It looks like a nasty fog hack rather than a high quality ray traced renderer.
The quality for everything in those images (apart from the reflections) is truly awful. It looks no better than than something you could do with openGL's fixed function hardware. That basically is the problem with ray tracing - It's not a technique you should be using everywhere, but use in places it's needed.
From what I know (which isn't much) even high end shops like Pixar only recently started using ray tracing, before that it was all rasterization using procedural textures and fairly complicated lighting models.
It still is all scan line rasterisation (it's a REYES renderer). The renderman spec recently added a trace command that you can use within the prman shaders, but it's only ever used for those specific edge cases where rasterisation isn't going to be up to the job (i.e. reflection and refraction).
Re:Beautiful (Score:3, Insightful)
the low shed central in the picture
the 'reflecting ball on the checkerboard' is a technology demo to show basic principles, it's not a realistic scene.
In a realistic scene *everything* has a shadow, and every bit of the image interacts with almost every other, making the 'model' (if there is such a thing) a one off for every camera viewpoint and for every object movement. There is no way that you're going to make your model that complicated for a rasterizer. A ray-tracer sidesteps that model complexity issue, complexity emerges from the scene and camera viewpoint, it is not hardcoded to an arbitrary level of precision or specified in the scene.
For computational speed you can limit both models (the one by limiting the scene description, the other by limiting the number of rays cast through a pixel and the number of bounces / splits), for a given amount of horsepower available the rasterization model wins if you're prepared the go the distance and spec your scene.
The nice thing is that all those 'goodies' (shadows, reflection, transmission) come for free (as in you don't need to specify them beyond the basic physical properties of materials). So, the model spec for a ray traced scene of a given accuracy should be less complicated than what you need to do to a rasterizer before it will generate the same image.
As an example, a field of grass would need a shadow map for every blade, and one for every partial transparency. In the case of a fractally generated tree or landscape that can get tedious real quick.
Re:Beautiful (Score:4, Insightful)
From what I understood (correct me if I'm wrong!), the movie 'cars' was actually done using a ray tracer, which for pixar was a first.
As for the comments wrt picture quality, yes, I agree with all the comments, but there is some stuff there that would be pretty hard to copy with a rasterizer, and I would expect the quality to dramatically improve if/when they decide to pursue this further.
The impressive thing is not really how well the pig dances, at this stage the impressive thing is that the pig dances at all.
Re:What a waste of resources (Score:4, Insightful)
The people writing the game, in most cases, are buying a library from a 3rd party.
There's not much of a gain to be had from that.
We used to joke about realtime ray tracing being two years away when I was in college.
Fifteen years ago.
The problem is, its always slower than rasterizing. You can get faster hardware, but as soon as you do people want bigger textures, higher resolution, more polygons and suddenly once again raytracing is too slow.
1920x1080 (Score:2, Insightful)
Is anybody else saddened by this horrible sneaking invasion of crappy HD resolution as the benchmark for renderers? I mourn for the loss of display resolution progress. Have people forgotten 2560x1600? Has anybody else noticed that 1200 vertical pixels has become vanishingly rare in monitors? If this is the future as brought to us by LCD panels, I'm really really not liking it. They blur and smear when things move fast, pixels go dead on them all the stinking time, and HD TV is crippling resolution because Joe Sixpack (and presumably corporate America) has no idea why more pixels is better.
You can pry my 21" flat Trinitron CRT from my cold dead hands.