Slashdot Log In
NVIDIA Shows Interactive Ray Tracing On GPUs
Posted by
kdawson
on Fri Aug 15, 2008 10:00 AM
from the raster-fair dept.
from the raster-fair dept.
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.
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Beautiful (Score:5, Interesting)
Wow, those screen caps are gorgeous. I hope this finally puts to rest the idea that rasterizing with upteenth number of features added in can compete with the image quality of Raytracing. While rasterizing may have a number of competitive features, it's hard to get the same level of specularity, reflection, shadows, shading, and other features so nicely demonstrated by this demo.
The genius of what NVidia is doing here, I think, is that by using their existing GPU architecture, they create a path by which Raytracing can be phased in as a technology without removing the support and investment in current rendering pipelines. This is a bit different from Intel's goal, which appears to be a cutoff between the old and the new.
Another interesting point is that this demo is currently capped at 3 casts per pixel. Which means that the scenes shown could look even better than they already do. Shadows could be softer, reflections could be more complex, and inventive scenes could be created to make for interesting styles of gameplay. (e.g. Fighting in a hall of mirrors.) If 3 casts/pixel is the baseline, then NVidia is setting up a vast new territory for graphical improvements. Each increase in casts/pixel will increase the realism of the scene. Thus graphical quality becomes a matter of raw horsepower. A market that I'm sure NVidia would gladly be interested in opening up.
Funny how things change, eh? [slashdot.org] :-P
Actually, I doubt NVidia has changed its position by very much. They're probably making a smart business decision and ensuring that they ride the wave of Intel's hype. If Intel *does* succeed in convincing the market that Raytracing is the future, NVidia will be ready to compete rather than cede the market.
Re:Beautiful (Score:5, Interesting)
They're probably making a smart business decision and ensuring that they ride the wave of Intel's hype. If Intel *does* succeed in convincing the market that Raytracing is the future, NVidia will be ready to compete rather than cede the market.
It's great for nVidia that they can do this with their chips, but I don't think this was done primarily for tech purposes. I think you're close to the truth when you say they can ride Intel's hype, but not quite spot on. I think this is meant to break Intel's growing ray tracing hype machine, not come along for the ride.
"Look, we can do now what you say you'll do in two years, and we can do it WAY better than you will be able to then, but on our current tech."
I can't imagine anything could be more effective at ending the "Intel will crush nVidia with ray tracing" meme that's been affecting nV stock.
Parent
Re:Beautiful (Score:4, Funny)
Well, once they perfect digital eyelash rendering, I'll be sold.
Parent
Re:Beautiful (Score:4, Funny)
Parent
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.
Parent
Re: (Score:3, Informative)
hmm - I was a bit underwhelmed, myself. First of all, graphics people have done GPU ray tracing on small static scenes has been around since about 2003 or 2004. The real limitation then was available memory. This is a standard ray tracer (no photon mapping), and highlighting an optimal model (a reflective one, not a diffuse one). They mention it scales linearly, which means they replaced the fixed function pipeline and used only shaders.
The scene shown is 2 million polygons (about the bas
Re: (Score:3, Interesting)
"Another interesting point is that this demo is currently capped at 3 casts per pixel."
You mean three bounces per pixel.
Also, from TFA:
"running on four next-generation Quadro GPUs in an NVIDIA Quadro Plex 2100 D4 Visual Computing System"
Sure this is impressive, but they are pushing kilowatts to get this kind of performance.
Re:Beautiful (Score:5, Informative)
Every bounce casts a new ray, so "3 casts per pixel" is an accurate description.
Parent
Re:Beautiful (Score:5, Informative)
It isn't. More casts per pixel means that more rays are cast at slightly different angles through each pixel, and those are then averaged to yield the actual pixel colours.
Three bounces per ray simply means that a single ray can bounce three times before it's colour values are known.
Parent
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.
Parent
Re:Beautiful (Score:4, Informative)
I used to hear exactly the same things being said by the ray-tracing evangelists in the FilmFX industry 15 years ago. Rasterization is still the primary techinique used for any film you care to mention, and I'm almost 100% certain it will still be the primary technique 30 years from now.
Parent
Re:Beautiful (Score:5, Interesting)
They are gorgeous? Really? I think they look distinctly average. The lighting calculations look very simplistic. Yes, the shadows and reflections may be pixel perfect, but that just doesn't matter that much. You usually can't tell they are anyway. The same scene rasterized with a simple cube map for the car's reflection and some proper shadow maps would look much better. Not to mention run faster.
And "graphical quality becomes a matter of raw horsepower"? This unlike in rasterization then?
Parent
Re:Beautiful (Score:4, Informative)
Sure you can. A human instinctively knows when something looks "right" or "wrong". And one of the reasons why rasterization is capped is due to lighting problems. Lighting technology has improved significantly in the last decade, but still not sufficiently to compete with raytracing. Raytraced lighting will look more natural to an untrained viewer.
Rasterization is heavy on hardware features to improve the quality and performance of the scene render. e.g. Blending, pixel shaders, z-buffers, etc. Ray tracing is a far simpler operation on the hardware side, though it still behooves the software side to improve the number of objects tested for rendering. (Nothing new there.)
Parent
Re:Beautiful (Score:5, Interesting)
Yes, and amusingly reflection and refraction (two of the main benefits of ray tracing) are a couple of things that humans generally can't tell if are being fudged. As long as it's in the ballpark it's enough to fool the human eye. Pixel perfection is way beyond what's required.
What does that mean? Capped?
Why? Details please. What exactly is more realistic about tracing each pixel through the geometry than drawing the geometry directly in the appropriate pixels? The underlying lighting calculations are the same either way, meaning they will both look the same, so the only real concern is speed for any given scene.
So if we look at speed ray tracing only has a real benefit in reflection and refraction, but that's not really a winning argument because, as I said, people can't really tell if it's 100% accurate anyway. I sure can't. Ray tracing can also do accurate soft shadows relatively easily, but the ray count required makes that completely unrealistic in real time for the foreseeable future. Shadow maps will be faster either way, and look 99% as good.
Ray tracing is simple to implement, but so is cracking a password using brute force. That doesn't make it the best solution.
Parent
Re: (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
Re: (Score:3, Interesting)
Yet in the case of Raytracing, "efficient enough to be feasible" means real shadowing, not the shadow-map crud we see in most video games.
I can and I will. Shadow maps used in games like Crysis beat you over the head with depth perspective. i.e. "Look, there's a shadow! Now you know how far off the ground the helicopter is!" While that's nice and all,
Re: (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 issu
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.
Parent
Re: (Score:3, Informative)
No, no, no. You have one shadow map per light source in most implementations (or a cube map for a point light. Depends on the algorithm used). You render the scene (depth only) from the light's viewpoint into this texture, thus finding the world space coordinate of the front most geometry (the shadow casters). Then, when you render from the camera viewpoint you look up each pixel's world space coordinate in this texture to determine if i
Re:Beautiful (Score:5, Insightful)
The technology is probably better than that but the actual screenshots are distinctly ugly for this day and age.
Parent
Re:Beautiful (Score:5, Informative)
The screenshots look relatively ugly because of the hashed-together-demo quality of the environment textures. But it's not a texture demo, it's a raytraced lighting demo.
Bare in mind this is ray tracing at a very rough and ready stage, but the potential is enormous. If you want to see the sort of effects it can achieve, check out some professional 3DSMax/VRay renders.
There's a nice render here [wikimedia.org] for illustrative purposes.
That's just a single frame with high quality textures, but it surely shows the potential.
Parent
Re: (Score:3, Interesting)
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.
Parent
Re: (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:That's a nice canned post ya got there (Score:5, Informative)
The kind with a star next to his name, obviously.
Parent
Re:That's a nice canned post ya got there (Score:5, Informative)
Story submitted: 11:00am. Your post submitted: 11:00am. There's just no way in hell you formulated a response and typed out all of that in less than a minute. So just what kind of douchebag are you, anyway?
Uh, maybe he looked at the story on the firehose.
Parent
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.
Parent
Re:That's a nice canned post ya got there (Score:4, Funny)
Parent
What's the power consumption on that rig? (Score:4, Funny)
hmm. (Score:2)
gah. the mind boggles what the animation crowd could do with this.
On a similar note, when I did my BA years ago my dissertation was on the veracity of digital images, when there is no real referent to accompany the photograph, and the loss of credibility of images in the onslaught of photo re
Not quite yet, I'm affraid (Score:4, Interesting)
Actually, I think that the biggest problem with animated porn isn't texturing-vs-raytracing, but the models and animations. Last time I ran into some adult Poser-fu, it looked all wrong in a massively uncanny-valley way, and not because of the texturing.
And with the animations, well, I'd assume it's actually easier and cheaper to find a gal who'll bounce on a cock for half an hour for a few (thousand) bucks, than a highly skilled artist and animator who'll make that look natural.
Plus, raytracing is IMHO entirely the wrong secret sauce there. Ray tracing works best for sharp, metallic/mirror reflections. Because then you can take each ray and reflect it as one ray. If you want to go diffuse, that's a lot more expensive with ray-tracing. Then you need to split each ray into sub-rays that reflect into slightly different directions from there. Same as anti-aliasing is done by calculating sub-pixels, basically.
I.e., ray tracing looks grrreat and is the cheapest for shiny cars, crystal cups, and the like. Which is why everyone ray-traces cars and the like. It sucks for something like human skin, unless, of course, you want to make those humans look like polished shiny plastic dolls.
So, well, I can't imagine that much need for it in porn at the moment. Unless, of course, you want to make a Transformers sex movie. Or maybe one with liquid- metal Terminators fucking. (Hey, they must have made some female versions too, right?;)
Parent
don't quit your day job quite yet (Score:5, Informative)
The devil is in the details. Ray tracing with glossy surfaces is relatively easy. But if you want to simulate real-world textures like orange-peel, bark, hair, or skin, things can really slow down.
Re: (Score:2)
Bark isn't too hard to pull off at least form a technical standpoint, from an artistic standpoint it can of course be a bitch to pull off but that's a different matter. Hair is a bit trickier but you can usually get decent enough looking results. Orange peel has a bit of Sub Surface Scattering (SSS) but in most scenes you can again get away without it.
So that leaves skin, for a long time realistic skin was almost the holy grail for CGI given that SSS and multiple layers are a huge component of skin but no
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
Parent
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:What a waste of resources (Score:5, Insightful)
Parent
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.
Parent
Re:What a waste of resources (Score:5, Informative)
The gameplay improvement is in deformable physical environments. Combined with mainstream physics engines, raytracing would allow for a sea-change in gameplay by allowing interactive gaming environments.
Raster methods rely on a bunch of tricks, many of which need to be precalculated for static maps. The most obvious example is binary space partioning tables. This leads to very static feeling environments that disallow interaction beyond doors of various types and moving platforms.
Parent
Re: (Score:2)
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.
I think you're missing the purpose of what a graphics processing unit is for.
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.
Still waiting... (Score:5, Funny)
I want NVIDIA to come out with a card that gives boring DOOM clones intriguing plots and compelling gameplay.
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.
The one thing I want (Score:3, Interesting)
> But reality is that several best games I have played were ... 2D.
Damn right. And you know what capability I would really like to have on a card? Masked blit. That is the single most time-consuming operation on all 2D games. If you could copy all your tiles to the video card memory and then maskblit them onto the visible page (or blit and flip if it's too slow), that would really make 2D games smooth as silk and leave more CPU power for AI and real gameplay.
What this will mean for games (Score:5, Funny)
Like someone said a few months back, now all the games will be composed entirely of shiny balls, toruses, and checkerboards.
Re:What this will mean for games (Score:5, Funny)
Don't forget teapots!
Parent
I, for one, welcome our ray traced overlords (Score:4, Interesting)
Here's a picture (Score:4, Funny)
...of the card [imageshack.us] that will be needed to run raytracing.
I guess you micro form factor guys are kinda screwed.
That's nothing. Cell can raytrace a whole city! (Score:5, Interesting)
Speaking of Ray Tracing...
Check out this video showed at SIGGRAPH this week of the University of Virginia Rome model being ray traced in real time by a Cell Blade:
http://www.youtube.com/watch?v=YZnbMWy9A0Y
Nifty!
Re: (Score:2)
Re: (Score:3, Funny)
Head up the stairs (to ground level), down the hall, and out the door. You should be able to find a bumper to stare at for a few hours.