Nvidia Demonstrates Interactive Ray-tracing
SIGGRAPH 2010, the annual computer graphics trade show of the ACM, started is exhibition Tuesday and Nvidia demonstrated at its booth the latest Quadro Fermi graphics cards.
Nvidia demonstrated the new release of the Application Acceleration Engine, AXE 2.0. The new version is optimized to run on the new Quadro Fermi cards, but will run on any G92 or later generation cards. These engines allow for interactive ray-tracing where the user can interact with the ray-traced scene quickly without an extensive wait for re-rendering.
Nvidia’s 'mental images' division also demonstrated its iRay application, which takes the above capabilities and adds physically correct global illumination to the features. Global illumination is critical for correct lighting in most 3D digital content creation and the ability to view and interact with a globally illuminated scene will greatly accelerate the ability of artists to work quickly. In addition iRay supports network distributed rendering across GPUs.
Nvidia partners like The Foundry, RTT, and Bunkspeed also demonstrated their applications making use of CUDA-accelerated interactive ray-tracing. RTT’s application actually calculated airflow over the model and rendered the model, interactively, both using CUDA, while Bunkspeed’s SHOT uses mental images' iRay to provide interative ray tracing and global illumination.
In a few GPU generations, these can be expected to proceed from ‘interactive’ to ‘real-time’ and we should start seeing the use of real-time ray-tracing and global illumination in games.
- BOXX 'World's Fastest Single-CPU Workstation'
- Intel to Stunt Overclocking on Sandy Bridge CPUs
- Apple Debuts Desktop Trackpad, Rechargeable AA
- Apple Updates Mac Pro With Up to 12 CPU Cores
- The StarCraft II Launch and Discussion Post
- Jane Strips Down StarCraft II Collector's Edition
- Rambus Wins Brutal Patent Fight Against Nvidia
- EverQuest 2 Getting Free-To-Play Starting August
- Deals for July 27: FREE Pepsi Max!
- Super Talent Also Releasing Dual Interface SSD
- Intel's 50Gbps Laser Light Beams Are the Future
- These Countries Hold the Keys to the Internet
- Action-packed Ghost Recon: Alpha Movie Teaser
- Apple Ditches Nvidia, Goes ATI-only for Desktops
- Deals for July 29: Xbox 360 S & Madden 11 $320
- Patriot Injects Inferno Series with Additional SSDs
- Creative Software Boosts On-Board Audio to Hi-Fi
- YouTube Now Ready for Your 15 Minutes of Fame







Yeah i was amazed at the viper pic, sooo realistic!
Rendering scenes using ray-tracing and global illumination takes freakin FOREVER, even on the i7 based workstations at school. I'm amazed at how quickly you're able to preview a scene using the hardware acceleration provided by Nvidia's latest generation of GPU's. It's literally just a matter of seconds based on the videos I've seen.
This really does make "interactive" ray-tracing possible for the first time on a desktop... awesome. This is the sort of application the Fermi architecture really excels at. The emphasis Nvidia places on this market is probably the main reason I'll be going with a Fermi based solution for my next build, and not an Evergreen.
So were probably less the 10 years off from being able to have games based on real time ray tracing, this makes me happy for some reason.
I remember back in the day (late 80's) when Amiga had it's big hay day with ray tracing, there were pundits that said that real time ray tracing would never be a reality. This was back when a single frame would take days to render in a farm. Oh how far we have come.
Great you found my viper! thanks
whatever happened to openrt... the last news post on the site is from '07...
i gave Maya a try before, fun, but needs time to learn. and yes it takes long to render a realistic scene, add that to my not-so-good settings being a noob and all
this is good news. so are there 3d modeling applications that makes use of the gpu? maya/3ds?
The F-18 frame is one frame while someone was interacting with it. The image refines as it rests. The Bunkspeed shot of the viper probably took a minute, maybe two. Before iray 'refines' the image, you can still get an idea for how the lighting and GI will look, well enough to make lighting decisions.
Rendering scenes using ray-tracing and global illumination takes freakin FOREVER, even on the i7 based workstations at school. I'm amazed at how quickly you're able to preview a scene using the hardware acceleration provided by Nvidia's latest generation of GPU's. It's literally just a matter of seconds based on the videos I've seen. This really does make "interactive" ray-tracing possible for the first time on a desktop... awesome. This is the sort of application the Fermi architecture really excels at. The emphasis Nvidia places on this market is probably the main reason I'll be going with a Fermi based solution for my next build, and not an Evergreen.
i7 970 extreme (the old quad core one) = 48 Gflops, these video cards = 1000 to 2000 Gflops.
pwned.
any demos of real time raytracing? (20, 30fps, reasonable res ect)
obviously images like the above which look REAL aren't gonna be real time yet, but some form of awesome raytracing might be.
hey, that viper pic: is it just the car that is rendered, then composited with a picture? or is the whole terrain rendered too? I could scarcely believe that...
I think I now know what my next GPU upgrade might have...
i7 970 extreme (the old quad core one) = 48 Gflops, these video cards = 1000 to 2000 Gflops.pwned.any demos of real time raytracing? (20, 30fps, reasonable res ect)obviously images like the above which look REAL aren't gonna be real time yet, but some form of awesome raytracing might be.
The problem with ray tracing isn't computational power. It's memory access. Every reflection takes only ~10 arithmetic operations to compute and then you need to find next intersection ant this is where problem starts.For a 1m triangle scene you'll have to do at least 30 reads from your data structure or even 1000s in worse case scenarios. Every read from RAM on a graphics card takes hundreds of clock cycles also the reads are random and not sequential so it won't hit very small caches and you get x16 RAM slowdown for misalignment. On a CPU you get megabytes of cache and no memory access restrictions. These algorithms work in O(n) and O(n lg n) times so you need to feed about as much data to the GPU as it can compute so for a 1Tflop chip you should connect memory that can do 1Tflop * 4 bytes = 4TB/s memory @ random reads... this can be only done with on-chip cache and for a 1m triangle scene you will need ~ 1000000triangles * 3 vertexes * 12bytes/vertex + 1 to 8 million nodes of data structure * (8 children + 1 parent) *4 bytes = way over 60MB of cache and this probably will have to be accessed by hundreds of PUs simultaneously... so it should be kept in dozens of copies.
Very cool, nice to see some new breakthroughs; they seem to be few and far between lately.
The problem with ray tracing isn't computational power. It's memory access. Every reflection takes only ~10 arithmetic operations to compute and then you need to find next intersection ant this is where problem starts.For a 1m triangle scene you'll have to do at least 30 reads from your data structure or even 1000s in worse case scenarios. Every read from RAM on a graphics card takes hundreds of clock cycles also the reads are random and not sequential so it won't hit very small caches and you get x16 RAM slowdown for misalignment. On a CPU you get megabytes of cache and no memory access restrictions. These algorithms work in O(n) and O(n lg n) times so you need to feed about as much data to the GPU as it can compute so for a 1Tflop chip you should connect memory that can do 1Tflop * 4 bytes = 4TB/s memory @ random reads... this can be only done with on-chip cache and for a 1m triangle scene you will need ~ 1000000triangles * 3 vertexes * 12bytes/vertex + 1 to 8 million nodes of data structure * (8 children + 1 parent) *4 bytes = way over 60MB of cache and this probably will have to be accessed by hundreds of PUs simultaneously... so it should be kept in dozens of copies.
very true
thats why triangles are lame. they are for lame rasterizers. all shapes in raytracing should be formed from much more complex geometric objects
for instance: terrain: should just a the equation for the plasma fractal you would otherwise use to generate a hight map. and bam! like 10s of bytes for your whole terrain! pwned!
I mean, the ray collision equation might be a *bit* more complex.... but Tflops!!
like how they are trying to overcome the same memory limitations in realtime rendering with tessellation.
That image of the Viper is bloody amazing.
Viper looks HORRIBLE for ray tracing!
-No car shadow reflected in body
-No road and shadow reflections on the rims
-No reflection of the mirror in the windows
-No reflection of the scenery in the glass
-No double or triple reflections
Only reflections that wouldn't be done in a super easy traditional way:
-Mirror in the bodywork (but could be done with some effort)
-Scenery reflection in the lamp shadowed by the lamp (could be done)
-Shadow on the brakes (could use a dedicated shadow here)
Only thing that looks great here is the scenery but it's only because of the detail not ray tracing. It could be rendered using Oblivion level shaders..
I can't wait till technology allows this to be real time. I'd also like a side of realistically destructible environment and a engaging story.
Good job Nvidia and I hope ATI is working on something like this too. Nothing like some good competition to push technology forward.
I can't wait till technology allows this to be real time. I'd also like a side of realistically destructible environment and a engaging story.Good job Nvidia and I hope ATI is working on something like this too. Nothing like some good competition to push technology forward.
I hope so to,ATI's next set of cards are do out later this year hopefully they have something that can beat Nvidia.
that's pretty stunning graphics mate~
good work
woah..i thought that viper picture was seriously a real picture!
Wow... I have to admit that this is one of the most impressive jobs of computer generated images that I've ever seen. I seriously can't tell that the picture of the viper isn't a real photo...
Amazed at the clarity of that Viper!
Quadro is as energy efficient as the jet and car they rendered.
i gave Maya a try before, fun, but needs time to learn. and yes it takes long to render a realistic scene, add that to my not-so-good settings being a noob and all this is good news. so are there 3d modeling applications that makes use of the gpu? maya/3ds?
as far as i know of it ,no 3d apps make use of teh gpu past rendering teh basic view port , this is because when go to "render" a scene it appliies all the mapping technologies with teh cpu becuase a lot of those technologies can not be done on a video card (which uses rasterization) namely ray tracing , photometric lights, and ray traced shadows, by the time any of tehse tecnologies are doable by a video card ,they will likely have newer technologies that can't be rendered by a video card
That image of the Viper is bloody amazing.
I can use 3d-studio too. Rendering solid objects like that is no big deal.
very truethats why triangles are lame. they are for lame rasterizers. all shapes in raytracing should be formed from much more complex geometric objects for instance: terrain: should just a the equation for the plasma fractal you would otherwise use to generate a hight map. and bam! like 10s of bytes for your whole terrain! pwned!I mean, the ray collision equation might be a *bit* more complex.... but Tflops!! like how they are trying to overcome the same memory limitations in realtime rendering with tessellation.
might i remind you that triangles are still the basic breakdown of ANY and ALL 3d rendering even when you add tessellation thea dded polysstilbreak down into triangles. rasterization has more to do with texturing than it does actual modeling so putting the two together really is inaccurate picture of things, that said ray tracying (atleast the reflections/refractions for surfaces also deals more with texturing than modeling. point is you sound silly and uninformed saying "triangles are lame" becaus4e even ray traced 3d uses triangles for the models ray tracing is about lighting and texturing not modeling , same for rasterization it's about texturing.
I wait what ATI say for this. The images is so clear.
might i remind you that triangles are still the basic breakdown of ANY and ALL 3d rendering even when you add tessellation thea dded polysstilbreak down into triangles. rasterization has more to do with texturing than it does actual modeling so putting the two together really is inaccurate picture of things, that said ray tracying (atleast the reflections/refractions for surfaces also deals more with texturing than modeling. point is you sound silly and uninformed saying "triangles are lame" becaus4e even ray traced 3d uses triangles for the models ray tracing is about lighting and texturing not modeling , same for rasterization it's about texturing.
yeah, your right, for standard video cards, triangles are all they do, even tessellation just breaks down into many triangles, but with raytracing, you can do what ever the hell you want. as long as you can collide with it, and get the tangent, your set. you can also map textures however you want.
for instance, at least for collision, a sphere is simpler than a triangle! certainly, it is simpler than the hundreds of triangles you would need to emulate a sphere, and even then it wouldn't be perfect.
it may be true that just processing triangles and optimizing for that is much faster than any other geometry, and yes, it certainly makes MAKING the geometry simpler, but if memory constraints are your major bottle neck (which it is), it might not be as crazy as you think to consider raytracing more complex geometry natively.
also, rasterizing is simply the process of taking mathematically defined geometry (vector graphics, triangles ect) and converting it to a grid of pixels, so ray tracing kinda falls under that, but generally it refers to the method that graphics cards use, where conceptually, it differs from ray tracing in that, ray tracing takes a pixel, and iterates all the geometry to find the color for that pixel, where as rasterizing takes a bit of geometry, then iterates all the pixels that need to be filled in based on that geometry.
I'd like to see real-time ray-tracing in games..
Viper looks HORRIBLE for ray tracing!-No car shadow reflected in body-No road and shadow reflections on the rims-No reflection of the mirror in the windows[...]
The reflections are not selective. You see everything you're supposed to see from that angle.
They are using a ray depth of at least 4 because you can see the background through the side window and windshield.
Reflection ray depth may be less, but anything above 2 wouldn't be noticeable anyway in this type of scene.
And the scenery is obviously a photograph, probably mapped onto an environment sphere. You certainly cannot render it with "Oblivion level shaders."
as far as i know of it ,no 3d apps make use of teh gpu past rendering teh basic view port , this is because when go to "render" a scene it appliies all the mapping technologies with teh cpu becuase a lot of those technologies can not be done on a video card (which uses rasterization) namely ray tracing , photometric lights, and ray traced shadows, by the time any of tehse tecnologies are doable by a video card ,they will likely have newer technologies that can't be rendered by a video card
That couldn't be further from the truth. There are at least half a dozen GPU rendering engines available. iray, Arion, Octane, Vray RT and a bunch more. GPUs are so much faster than CPUs that this technology will grow more and more.
Real-time raytracing: yes, real-time physically correct global illumination: NO! Such images take hours to render correctly, even today. And I don't foresee that to change anytime soon. Sorry Toms, but if you believe this is real-time global illumination, you've been misinformed.