NVIDIA Doubts Ray Tracing Is the Future of Games
SizeWise writes "After Intel's prominent work in ray tracing in the both the desktop and mobile spaces, many gamers might be thinking that the move to ray-tracing engines is inevitable. NVIDIA's Chief Scientist, Dr. David Kirk, thinks otherwise as revealed in this interview on rasterization and ray tracing. Kirk counters many of Intel's claims of ray tracing's superiority, such as the inherent benefit to polygon complexity, while pointing out areas where ray-tracing engines would falter, such as basic antialiasing. The interview concludes with discussions on mixing the two rendering technologies and whether NVIDIA hardware can efficiently handle ray tracing calculations as well."
Kirk should talk to Picard who is quite enthused about real time raytracing.
Saying something sucks if he's already developing a product for it.
“Common sense is not so common.” — Voltaire
A good way to mix both techniques is Relief Texture Mapping. It's a good way to get smooth surfaces thanks to the texture interpolation hardware, with no extra polygons.
Seriously though, does anyone expect Nvidia to say, "Yes, we really do think that our products will all be obsolete and outdated in a few years. Thank you for asking." I personally have no idea as to whether or not ray tracing is the future of games, but I really don't think that Nvidia is the right person to ask either, (just as Intel isn't).
Intel says to do it with the CPU, and nVidia says to do it with the GPU. What a surprise.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
Personally, I prefer spites to either ray-trace or polygons. I still thing Starcraft (the game, not the conversion van) had some of the best graphics. But then I am kind of a fuddy-duddy. I also think River Raid was an awesome game.
I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
IBM doubts the future of the "personal computer"
Buggy manufacturers poo-poo the new horseless carriage
etc, etc.
Women are like electronics: you don't know how damaged they are until you try to turn them on.
We can't do it as well as Intel yet, therefore it sucks. BUY NVIDIA.
What about game and engine devs? Where do they see the future going?
For the most part, I really don't see ray-tracing adding much to the world of gaming that isn't being handled well enough by current methods. Unless someone was specifically creating games that somehow directly incorporated either the benefits or the added calculations involved with ray-tracing itself, it would only be a costly, and highly inefficient gimmick of an alternative to current techniques.
Sure, ray-tracing has its place in a lot of areas, but real-time gaming would be a terrible misuse of processing horsepower... especially when you could be applying it to other areas of gaming that actually affect gameplay itself. For example, how about more robust AIs for in game elements, or high-end physics processing that can combine things like fabric/hair/ fluid/fire physics processing with the ability to decimate objects completely as vector-calculated chunks based on the surrounding environments, rather than all this predetermined destruction we currently see in games. (Example, a surface could be eroded incrimentally by having a fluid running acrossed it until a hole forms in the shape of the fluid path...)
8==8 Bones 8==8
Why does there have to be One True Rendering System? As long as a company as big as Intel is backing raytracing, chances are good that it will eventually turn up in de facto APIs like OpenGL and Direct3D. And then if it picks up developer support, it will become a necessary bullet point feature to sell new graphics cards (or not, if Intel's plan for pushing this with multicore CPUs works). Game developers will have the choice of using one type of rendering system or the other, or some mixture of both, as necessitated by their game design. I see a duality happening, and it is win-win for everyone except NVIDIA, who has a vested interest in the status quo, is just afraid of losing their market share to CPU cores. And unlike with AGEIA, they won't have the funds to buy up Intel anytime soon. In fact, this avenue may be one of the few chances for AMD to redeem the ATI merger. "Check out our parallel raytracing/rastering chip!"
For years, the movie studios were using Pixar PRMan, which is in many ways a high-quality software equivalent of a modern graphics card. It takes a huge and complex scene, divides it into screen-space buckets of equal size, sorts the geometrical primitives in some way, and then (pay attention now!) tesselates and dices the primitives into micropolygons about one pixel each in size (OpenGL fragments, anyone?), shades and deforms them them using simple (or not-so-simple) algorithms written in the RenderMan shading language (hey, vertex and pixel shaders!) and then, it rasterizes them using stochastic algorithms that allow for high quality motion blur, depth-of-field and antialiasing.
Now the latest part is slightly easier for a raytracer, which can cast a ray from any place in the scene - of course, it needs this functionality anyway. But a raytracer also needs random access to the scene which means that you need to keep the whole scene in memory at all times, along with spatial indexing structures. The REYES algorithms of PRMan needs no such thing (it easily handles 2 GB of scene data on a 512 MB machine along with gigs of textures), and it allows for coherent memory access patterns and coherent computation in general (there is of course some research into coherency in raytracing, but IIRC, the results were never that good). This is a big win for graphics cards, as the bandwidth of graphics card RAM has never been spectacular - it's basically the same case as with general-purpose CPU of your computer and its main memory. But with 128 or so execution units of modern graphics card, the problem is even more apparent.
Unless the Intel engineeers stumbled upon some spectacular breakthrough, I fail to see how raytracing is supposed to have any advantage in a modern graphics card. And if I had to choose between vivid forest imagery with millions of leaves flapping in the wind and reflective balls on a checkered floor, I know what I would choose.
Ezekiel 23:20
Radiosity does more for indoor scene quality than does raytracing. Radiosity gives you the visual cue of a dark band at an inside corner, which is subtle and a basic part of the human visual mechanism for resolving depth. Raytracing makes shiny things look cool.
Oh, right, this is for gamers.
They will cut back our "first contact" date for at least 500 years.
Knowledge is power. Knowledge shared is power lost.
I'm not too up on 3D graphics, but what's with these comparisons of ray-tracing vs polygons, or ray-tracing vs rasterizing? Isn't ray tracing just a lighting model?
Done with slashdot, done with nerds, getting a life.
what does antialiasing have to do with anything? you can anti-alias just fine with raytracing.
I doubt NVIDIA really thought this through. How could a leading graphics company say such a thing about ray tracing? Ray tracing provides THE best quality images.
Just because their products now are focused on rasterization (their current GPUs can do raytracing as well) doesn't mean their next generation ones have to be. I'm sure they'd be happy to produce raytracing hardware, if there was a demand for it and if they could make it fast.
That is the problem, as the article noted. You get research oriented things that are very pie in the sky about rendering techniques. They concentrate on what is theoretically possible and so on. nVidia isn't in that position, they are concerned with what is actually faster when implemented in hardware. I'm quite sure nVidia would shift over to making raytracing cards, if it was better to do so. In this case better means "Produces a better looking image in realtime."
I'm all for research in to other ways than what we do now, however that doesn't mean that just because something looks good on paper that it works in reality well. The question isn't what technique has what big O, the question is when implemented on real silicon with today's technology, what gives the better image?
IBM did realtime raytracing using three ps3 with linux
"A good way to mix both techniques is Relief Texture Mapping [ufrgs.br]. It's a good way to get smooth surfaces thanks to the texture interpolation hardware, with no extra polygons." The problem with a technique like this [similar for bump and normal mapping] is that it doesn't affect the actual geometry. That means that the edges of meshes, and the mesh generally when viewed from very oblique angles, will appear flat. Displacement, on the other hand, is a good solution to this as it actually affects the geometry involved.
"C is much too slow, to get good performance you must use assembly."
"Scripted languages are much too slow, to get good performance you must use compiled languages."
As computers get faster, there is always a move from technologies that are easier for the computer to technologies that are easier for the developer. Since ray tracing involves less hacks and is a more direct model of the effects developers want to create, it seems inevitable.
Which isn't to say I'm a raytracing fanboy. The blacksmith might well be right, if the car in question is powered by steam. But the blacksmith's opinion still isn't exactly news...
Considering how I've seen people going back to '50s style music, clothing, etc., it'd make sense if they suddenly just went back to text-gaming. Retro's the way to go! Stranded on an alien planet without a six pack of beer, baby!
I'll call it the mind-generated graphics system, or MGGS for short.
Patented and Copyrighted and Trademarked!
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Intel's original studies stated that currently raytracing requires too much of a performance hit to be viable. They're expecting it when 8-16 core processors becoming available at a commodity level, and thats at least 2-3 years from now. As for anti-aliasing, I thought that raytracing removed the need for it entirely because of how graphics are drawn?
I'd love to see Nvidia or ATI work on hardware that accelerates a pure voxel engine. I personally think there's too much emphasis on reaching a goal of photo-realism. Current polygon-based rendering tends to dictate a lot in terms of gameplay, often without game designers even noticing it because they don't know what's possible with something like a voxel engine.
and they say this after 'acquiring' mental images (mental ray - used in a plethora of 3d applications as a high quality raytracing renderer), and even having their own Gelato GPU-driven raytrace rendering platform.
I highly doubt that they think that the future of gaming isn't in raytracing; they may believe (rightly so) that it isn't the -sole- future of gaming. Several rendering methods, from dumping polygons straight onto the screen to scanline rendering to reyes rendering tend to be more efficient at different tasks. Raytracers excel at a bunch of other tasks, and I think you'd have to be stupid to think that NVIDIA isn't going to do any raytracing on their GPUs for games in the future. Hell, some pixel shaders used in games arguably already do a simple form of raytracing.
As for the anti-aliasing... can we say "FSAA"? Full Screen Anti-Aliasing is rendering the whole screen into a larger buffer and then resampling that down to screen resolution. Guess how a pure raytracer does anti-aliasing?
( if you can't guess: it dices each pixel up into subpixels and renders those, then samples those together for the full pixel. Net effect is much the same except you can control the level of sampling, you can jitter your samples around, etc. )
A smarter raytracer pre-calculates where things like object edges will be in screen space (easy for orthographic and perspective views, a bit harder for custom lenses.. e.g. fisheyes) so that the raytracer knows in advance that it'll want to sample in those pixels more.
Just my 2cts (worthless by posting anonymously)
Dear nvidia,
Please hurry up and fix your drivers so the Cossacks series and Rome work again. Thanks, that is what I paid you for.
Pixar's movies aren't rendered in real time.
WWJD.... for a Klondike bar?
I'm not too up on 3D graphics, but what's with these comparisons of ray-tracing vs polygons, or ray-tracing vs rasterizing? Isn't ray tracing just a lighting model?
Ok, that's to torque the mod that decided I was being redundant. Now to expand on it: though I can see where ray tracing might be able to describe a perfectly curved surface or how it could replace some amount of texture mapping by modeling the reflections off it, it's not like the model can exactly describe geometry itself or the starting color of the object. As for rasterization, it's got to go to the monitor sometime, so I'm not sure what the comparison there is either. So other than radiosity lighting, what's being made obsolete here?
Done with slashdot, done with nerds, getting a life.
Unless you can turn everything into polygons on the tiniest scale and make rays bounce thousands of times. Even then you can't have things like bloom. Maybe it is possible of you have fullscreen shaders on top of a raytraced frame and render a frame for each time a ray bounces, but that requires extreme computing power not even possible within about 15-20 years. 2xFSAA could be possible of you render each frame at least four times, but that would take even more computing power, not to mention putting these four frames together in one frame...
I don't see this coming, if ever, any time in the near-, or maybe far, future...
Here be signatures
A few friends, my brother and I had a Crisco fight one summer.
Yeah- that's right - mother-f**king Crisco - everyone had like 2 pound cans of the stuff, and wore old clothes.
Pretty damn fun throwing a big greaseball and hitting someone upside the head with it, 'cause it sticks. Then the walk home from the local baseball field with big things of grease stuck to us.
Being a bored kid can be really fricken cool sometimes.
..........FULL STOP.
A likely story! Next you'll claim that the Smurfs weren't animated in real time, either.
nVidia is telling you what you need to hear to conclude that they aren't threatened with extinction.
The fact is that in probably in a little more than two years there is going to be NO need for discrete graphics anymore. In roughly two years time Intel is going to be pushing 16 cores on a die, probably following the announced AMD strategy of mixing in some cores that are highly optimized and streamlined for operations that just happen to be very similar to what graphics technology needs (AMD calls them XPU cores). And if they can deliver ray-tracing in real time then it's more than likely going to be ray-tracing because it's an order of magnitude more precise than other techniques. The simple fact is once we move to 16+ cores there isn't going to be a need for discrete graphics anymore. Move the basic 2D stuff into the motherboard and run the graphics on the discrete cores. Hell that's the whole principle behind the PS3, 8 (7 usable) identical, programmable, highly optimized SIMD floating point cores and a power processor to run the OS. Just take the model and stick 8 of the cell like cores on the die with 8 x86 cores and you have highly programmable graphics without the need for discrete graphics.
nVidia is going to be in big trouble in about 2 years. If you're an investor watch the AMD and Intel roadmaps and when the multi-core processors come out with the cell like processors and x86 processors on the same die it's game over for nVidia and time to sell the stock if they don't have another plan to stay viable. Not to mention Linux will be MUCH better off as we'll have direct access to those cores and will be able to do some amazing things.
"Rasterization" scales perfectly well inside the chip, to scale it in the same way in a multichip setup takes more bandwidth than they are willing to allocate pins for at the moment (so they use AFR ... not SLI BTW). I don't care though, single chip solutions are in the right price range for me and multichip solutions are not.
... the way it hits memory, the need for fine grained hierarchies etc ... it's just nasty. Even after swallowing overdraw and the need for hugely oversampled shadow maps "rasterization" is still the better algorithm.
In my price range raytracing scales from unusably slow to still unusably slow. Even if there were dedicated hardware for it that would still be true, raytracing just has so many nasty aspects which make it slow for the kind of rendering we can do in realtime at the moment in consumer space
You mean simulate the forward emanation of quantum wave functions from light sources to the camera? (Closest to real we can get with present physics knowledge.)
So much horsepower is going into the _look_ of a game, but so little into animation techniques to make it _feel_ real not just look real. Character animation sucks on all games as far as I've seen. We still have pre-programmed movements that jerk from one animation phase to another, the whole process is very rigid, unintelligent and desperate for an overhaul of technology.
I'd like to see inverse-kinematics used in character animations. Example: As you walk in real life, you decide where your feet need to be, not where your thighs, hips or knees need to be. They follow automatically, as does your torso. Your arms tend to swing for balance. Your torso leans and sways to maintain a general centre of gravity across your limbs. When you are pushed, again your feet decide where they need to be to adjust your centre of gravity, stop a fall, etc.
With all the CPU power at our disposal, I don't see anyone trying out stuff like this. It would really make 3D games feel more realistic and dynamic, removing scripted movements. It's just an extension of the physics engine and ragdoll, but of course needs a lot of rules placed on it to make it not look silly while playing.
Then there's the dismal state of AI, and of course storytelling and engaging a players' imagination. "Gaming" is about imagination, otherwise it's just entertainment; interactive TV.
UT3 is a perfect example of how stagnated that genre is. UT3 is like Vista to UT2004's XP. We came from a place of innovation way back in the Zork days, when people were thinking up *new ways to tell a story*. Now it's all about hype and visuals but little real innovation.
There used to be an interesting debate between Professer Philipp Slusallek of the University of Saarbruecken and chief scientist David Kirk of nVidia at GameStar.de. The original article has been taken down, but I found a slightly mangled version on the Wayback machine and I've cleaned it up a bit and put it up on my not-a-blog: link.
I'd appreciate a better translation of the German part of the text.
Following up on my previous post about the debate between David Kirk and Philipp Slusallek in 2006 (link ... apologies to Dr. Slusallek, Slashdot truncated his name).
According to Dr. Slusallek's LinkedIn profile he's currently a "Visiting Professor at NVIDIA".
The performance of Dr. Slusallek's real-time raytracing engine at only 90 MHz was quite impressive: "In contrast we have recently implemented a prototype of a custom ray tracing based graphics card using a single Xilinx FPGA chip. The first results show that this really simple hardware running at 90 MHz and containing only a small fraction of the floating point units of a rasterization chip already performs like a 8-12 GHz Pentium 4. In addition, it uses only a tiny fraction of the external memory bandwidth of a rasterization chip (often as low as 100-200 MB/s) and therefore can be scaled simply by using many parallel ray tracing pipelines both on-chip and/or via multiple chips.".
It seems there may be room for more than one opinion about the future of raytracing and gaming at nVidia.
"A related effect is called ambient occlusion. An example of ambient occlusion is in the corner of a room, where the points on the surface of the wall near the corner can't "see" very much of the room, so those points are not as well-lit as points in the center of the wall."
I'm not sure what optical effect he's referring to. Ambient light is an approximation for second and higher order reflections, and depending on the brightness of the adjacent surfaces corners of a room may or may not seem darker than the surrounding wall. With interior lighting, the fact that they are simply further away from the light source is going to have a bigger impact (if you're in a room that's not lit by ceiling panels you can look at the ceiling of the room you're in too see what I mean). In addition, in the room I'm in, an even bigger factor is the wall texture - it's slightly glossy and the diffuse reflection of the overhead light is far more apparent than the slightly darker secondary reflections in the corner.
Raytracing avoids aliasing effects within an object, but without oversampling (say, shooting multiple rays near the corners of pixels that are near the edge of an object) you get just as much aliasing at edges. The folks at SaarCOR have demoed some interesting edge detection algorithms that allow them to only do supersampling where it's needed.
Hi, I'm a PhD student working on Real Time Ray Tracing. I actually reregistered to post this (I have a really old account I can't login to anymore tied to an old email address) Anti aliasing in ray tracing is ridiculously simple. Yes, ray-tracing is a point-sampling algorithm and is therefore susceptible to jaggies, but you do NOT have to send out multiple rays per pixel. After a frame is rendered with ONE primary ray per pixel, you then do a simple linear scan of the image. By comparing a pixel's values with neighbouring ones you can easily detect areas of the render where sharp transitions occur (jaggies etc). For those pixels and those pixels only, you can then send out one or more rays extra for anti-aliasing purposes. Adaptive supersampling is fast and produces high quality results and it's been around since Whitted's initial work on recursive ray-tracing. Other comments. "You must visit every object to build the data structure". Untrue. The data structures we use can be built on-demand as a ray traverses the scene. Also, O(N) or O(NlogN) rebuilds are not necessary between every frame. Simple O(logN) updates have been shown to work very well with deformable BVHs etc.
They could just nuke us now and be done with it.
Help poke pirates in the eyepatch, arr.