there's a big difference between "interesting" and "competitive with raster graphics". in order for raytracing to be a practical alternative, it's going to have to put out at least 60fps on a 1920x1200 display (hardcore gamers will demand this). if we take the intel authors' assumption of 15 raysegs per pixel, that means about 8300M raysegs/S, which is an order of magnitude greater than the 450M raysegs/S estimate which, they tell us, is the point at which things become "interesting".
the 3.2ghz pentium 4 produces about 100M raysegs/S under ideal circumstances, so if we assume that each conroe core can produce this many raysegs under normal circumstances (while running windows processes in the background, and such), a quad-core Core 2 still only gets us to the 400M raysegs/S mark. assuming Moore's Law holds, you don't get enough processing power until the end of the decade.
that said, i still think raytracing is the future, it's just going to take a long time to get there.
Hold on a second. Who said we'd demand HD resolution at 60 frames a second of the first ray tracing games/hardware?
Most people watch movies (for example, Pixar movies) at 640x480 with 30 frames a second on crappy tv's. How good does that look?
So let's try a different calculation. 800x600 pixels x 15 raysegs x 60 frames = 4.32 million raysegs.
I don't know about anyone else, but I'd be happy to play a ray traced game at 800x600.
However, I find it hard to believe that pictures like the one linked too above would be possible. There are probably other limitations (art budgets being a major one).
Originally Posted by Yossarian*BDA* there's a big difference between "interesting" and "competitive with raster graphics". in order for raytracing to be a practical alternative, it's going to have to put out at least 60fps on a 1920x1200 display (hardcore gamers will demand this). if we take the intel authors' assumption of 15 raysegs per pixel, that means about 8300M raysegs/S, which is an order of magnitude greater than the 450M raysegs/S estimate which, they tell us, is the point at which things become "interesting".
the 3.2ghz pentium 4 produces about 100M raysegs/S under ideal circumstances, so if we assume that each conroe core can produce this many raysegs under normal circumstances (while running windows processes in the background, and such), a quad-core Core 2 still only gets us to the 400M raysegs/S mark. assuming Moore's Law holds, you don't get enough processing power until the end of the decade.
that said, i still think raytracing is the future, it's just going to take a long time to get there.
What you mean is hardcore gamers with big budgets/deep pockets. I'm happy if my computer can PLAY the game at 1024x768 with nominal graphics.
If the hud-bub regarding the PS3 price is any indication then gamers are CHEAP AND DEMANDING. So unless 20"+ widescreen moniters, good ones, suddenly become dirt cheap along with raytracing and graphics cards then I think people will settle for 800x600 or 1024x768 raytraced games at 30fps.
Originally Posted by FIBRE+ So if raytracing was a reality now, how would it effect how games are made?
In, say, Doom IV? None, zero effect. 95% of the time your cores will sit entirely idle, with a black screen, until you hear something, you twitch your mouse, and then use two or three cores for three seconds thanks only to the glare of your gunfire; three seconds of a gloriously photorealistic slide-show. Then back to total blackness. :) Which is good, with no glare from the monitor, no one will see that you wet yourself in the dark room.
Jokes aside, that picture up there looks awesome. Something to aspire to in a few years!
On a completely different note I'd just like to say that with photorealism like the picture above I think CSI type games could start to take off.
Can you imagine investigating a crime scene that LOOKED real but was really a simulation? It would be AWESOME! Then again I'm a CSI geek so that could just be me.
Originally Posted by specofdust For anyone that doesn't understand the potential of this, perhaps a picture would be helpfull?
Personally, the thought of things looking that realistic, make me amazed. The idea that quad cores could start stuff like that going makes me rather excited.
Let's be clear though, raytracing as described in the original Intel article will not come close to rendering this scene at all realistically. There are several effects at play here that can't be captured by bouncing a finite number of rays.
The most obvious is the window reflection which is an area light source. Raytracing as described in the article is only effective with point light sources. Sure you can optimize for square light sources by sending a ray to each corner and then doing some interpolation, but that's already increasing the number of rays by a factor of 4, and that's only a basic quadrilateral light source. And its only the tip of the iceberg for this scene.
The concentrated spots of light (caustics) will not show up with traditional ray tracing techniques. Diffuse reflection (hold a colored, but non-reflective object near a white wall). Depth of field (again requiring more rays). Also, true volumetric rendering can't just bounce rays off surfaces, it has to take into account translucent materials. For an example, consider the renderings of two glasses of milk at http://www.cs.sfu.ca/~psabzmey/personal/graphics/report.html.
Those were created with the wonderful PBRT software (free for educational use). Check out the gallery. All of those images took hours and hours to render on modern machines.
The key to photorealism is something called the global illumination equation which is actually an integral of an entire scene that represents all light interaction. The problem is that the integral is impossible to solve for any non-trivial scene and can only be approximated. Using Monte Carlo rendering techniques such as photon mapping one can render photo-realistic scenes (they will appear noisy if not given enough time to map sufficient photons).
I'm not familiar with modern gaming graphics algorithms, but I guarantee you that they are all based on shortcuts and approximations to take the computation time out of raytracing. There won't be a single moment where we switch to raytracing and then suddenly we have photorealism. The reason real time graphics look as good as they do is because of a lot of brilliant optimizations that have made the approximations much faster with minimal loss of realism. Where exactly you draw the line between 'raster' graphics and raytracing is unimporant. The fact is that we will continue to see incremental improvements in both rendering techniques and hardware, but a 4x or 10x or 100x speed improvement is pretty much a drop in the bucket when it comes to bringing state-of-the-art rendering algorithms to real-time processes.
With regards to the above picture I linked, I didn't intend to imply that we could move suddenly to graphics that good with raytracing, just that in a few years we could be there. I'm aware things like that currently take hours to render, but with raytracing that is where we could get to in a few years, assuming the steady increase in comptech we've had since the transistor was created(pretty much).
I can't wait for raytracing to begin along the path towards things like this.
nor can I, it seems as though this will be the future for applications using this etc, but also processors will need to be changed to since the technology of silicon based processors has been stretched to its limits (heat etc) and they cannot continue to keep shrinking it
I don't see why one couldn't just decrease image quality of RT when something gives it a performance hit. Say we give settings of 1024x768 at 30fps, giving the engine 1/30th of a second time to come up with each frame. From what I've seen when rendering with RT the image quality gradually improves like when a progressive JPEG loads, but instead of starting at the top and working its way down the engine could use an algorithm to scatter its efforts around the center of attention: the center of the screen.
This would mean the edges remain blurry when there is a performance hit, but the center of the screen is reasonably sharp; and no slide-show.
If this cheating-mechanism could be made to look like the noise seen in high ISO film photographs, it could actually be a rather cool effect.
I'm sure there are a lot of other shortcuts that could be used aswell. After all, you only need to fool the eye; not render photorealistically.
I just wish I had the know-how to modify the OpenRT engine to demo this idea. Though it probably would basically involve telling the engine to instead of starting from 0 and going +1 from there to work with a 3D bell-curve centered on the screen, the comparative step up in complexity is quite high.
Plus there is the issue of teaching the engine to start with the next frame after 1/30th of a second too...
Maybe I should talk with the OpenRT devs instead of blabbering here? Eh? Hehe. =)
ED:
Nevermind OpenRT. Apparently it isn't Open Source after all.. :(
Originally Posted by Pookeyhead Surely if it were that simple, and linear in scaling, someone with a 4 processor opteron board, with dual cores in each would be showing off their real time raytracing by now? It's not as if we've got to sit around waiting for Kentsfield for quad cores. There are systems out there available now, that can have 8 cores. There's more to a game than the 3d, and raytracing is not the only physics calc going on either. Then there's the AI etc... oh, and sound, and interfacing, and whole loads of other stuff... Nah... I'm going to be the sceptic in this thread, and sit here like a great big party pooper, and say "Bah Humbug" a great deal... I think it's gonna be some times before this happens.
I think the article wasn't really focusing on the concept of a quad-core system processor doing the raytracing in realtime...if you read the linked article, you'll see that Intel is working on developing "RPUs", which will supposedly work in tandem with the GPU solely to perform ray-tracing duties. That would leave the processor available to render AI and the other stuff it's usually held accountable for...minus physics, assuming the PhysX engine is going to catch hold sometime soon.
Great article...I hadn't hear much about ray tracing in years, it's nice to see it brought back to the forefront, at least for enthusiasts.
Originally Posted by davidstvz Hold on a second. Who said we'd demand HD resolution at 60 frames a second of the first ray tracing games/hardware?
Most people watch movies (for example, Pixar movies) at 640x480 with 30 frames a second on crappy tv's. How good does that look?
So let's try a different calculation. 800x600 pixels x 15 raysegs x 60 frames = 4.32 million raysegs.
I don't know about anyone else, but I'd be happy to play a ray traced game at 800x600.
However, I find it hard to believe that pictures like the one linked too above would be possible. There are probably other limitations (art budgets being a major one).
you're forgetting that game developers write engines for high- and low-end gamers. they're not even going to think about developing engines that can only put out 30fps on the highest-end machines. gamers would be up in arms if they're brand new, $4000 dell had to run at 800x600.
mark my words: no mainstream raytracing until the end of the decade.
Originally Posted by Yossarian*BDA* you're forgetting that game developers write engines for high- and low-end gamers. they're not even going to think about developing engines that can only put out 30fps on the highest-end machines. gamers would be up in arms if they're brand new, $4000 dell had to run at 800x600.
mark my words: no mainstream raytracing until the end of the decade.
For an ordinary game, you'd be somewhat right, but a raytraced game would be a completely different paradigm. People would have different expectations.
The first raytraced games would be little more than tech demos to showcase the capabilities - look at the game they made to show off the new PPUs. People would accept those running at low res but for mainstream play it will have to go a fair bit higher - 1280 at the very least
you're forgetting that game developers write engines for high- and low-end gamers. they're not even going to think about developing engines that can only put out 30fps on the highest-end machines. gamers would be up in arms if they're brand new, $4000 dell had to run at 800x600.
I wont argue with you that raytracing still has some time before it hits games in real time.. However, just need to point out a little hitch in your logic.
Raytracing is not the same as todays raster based rendering methods. Therefore, a raytraced image at 800x600 lacks many of the visible flaws in an 800x600 traditionally rendered image. First that comes to mind is aliasing.
One of the main reasons we up our resolutions is to sharpen the image. More pixels = more detail = less aliasing (jaggies) and pixelation. This isnt to say that there isnt any aliasing found within low resolution raytraced images (especially if you have an LCD or a CRT with a very poor DPI rating), but its considerably less. Just to get a general impression of the difference (i'm pulling this out of the air so dont quote me..) lets say an 800x600 raytraced image would have aliasing comparable to a 1280x1024 image not using raytracing. There are many variables that contribute to the final output of an image. Raytracing will provide for more realistic surfaces, reflections, interactions with lighting, effects and decreased aliasing at the same time due to its nature.
The reason hard core gamers push the resolution barrier is for increased image quality. If you can achieve the same image quality at a lower resolution.. you will do so. Remember when AA and AF started to first show some real merit? Last I checked most gamers.. even hard core gamers.. would rather run 1280x1024 with full shadows, pixel and vertex shaders on.. and let the advanced AA and AF nudge the IQ up to what you would expect from 1600x1200 or higher.. tahn run at 2048x1536 and forsake all the great shader effects that add to immersion and ultimately increase image quality. It just takes a while to educate end users that higher resolution does not in all cases mean higher image quality. It depends on your setup.. and the only instance where higher resolution will always equal higher image quality is when you're playing your PC games on a big screen (52" +) while 6 feet or less away.
My point is, you cant measure tomorrows tools with todays standards. in days past a single core 3.2ghz processor was thoguht to be faster than a 2.8ghz processor when measured with technologies and tools of that day. Now you take one of those processors and compare it todays and that assumption becomes false. You can apply the same thought process to raytracing vs. raster.
The real hurdle here wont be so much hardware capabilities.. I really believe we will be capable by 2008. The hurdle will be turning over the whole industry to an entirely new concept.. from consumers, to manufacturers to software developers. That is what will push this transition well into 2010+. I think it would be safe to assume that by the time the console manufacturers are ready to start on their next hardware cycles we will be nearing the debut of real time raytraced games to be delivered to the masses.
Originally Posted by Asphix Raytracing is not the same as todays raster based rendering methods. Therefore, a raytraced image at 800x600 lacks many of the visible flaws in an 800x600 traditionally rendered image. First that comes to mind is aliasing.
"Such a convergence means that real-time ray tracing will become possible, but by no means does it imply that ray tracing will become the de facto solution for 3D drawing. For example, ray tracing is poorer for rendering for anti-aliasing (looking towards multisampling and analytic anti-aliasing techniques), and typically imposes a 20-40X computational penalty compared to rendering. Ray tracing is superior for handling bounced light, reflection, and refraction. So, there are some places where you will definitely want to ray trace, and some cases where it would be a very inefficient choice."
--Tim Sweeney, Epic
anyway, open source code for real time ray tracing and body tracking sounds interesting; and, the mud-wrestling waltzing dude is so :) it merits a look
Comments 26 to 49 of 49
the 3.2ghz pentium 4 produces about 100M raysegs/S under ideal circumstances, so if we assume that each conroe core can produce this many raysegs under normal circumstances (while running windows processes in the background, and such), a quad-core Core 2 still only gets us to the 400M raysegs/S mark. assuming Moore's Law holds, you don't get enough processing power until the end of the decade.
that said, i still think raytracing is the future, it's just going to take a long time to get there.
Most people watch movies (for example, Pixar movies) at 640x480 with 30 frames a second on crappy tv's. How good does that look?
So let's try a different calculation. 800x600 pixels x 15 raysegs x 60 frames = 4.32 million raysegs.
I don't know about anyone else, but I'd be happy to play a ray traced game at 800x600.
However, I find it hard to believe that pictures like the one linked too above would be possible. There are probably other limitations (art budgets being a major one).
What you mean is hardcore gamers with big budgets/deep pockets. I'm happy if my computer can PLAY the game at 1024x768 with nominal graphics.
If the hud-bub regarding the PS3 price is any indication then gamers are CHEAP AND DEMANDING. So unless 20"+ widescreen moniters, good ones, suddenly become dirt cheap along with raytracing and graphics cards then I think people will settle for 800x600 or 1024x768 raytraced games at 30fps.
In, say, Doom IV? None, zero effect. 95% of the time your cores will sit entirely idle, with a black screen, until you hear something, you twitch your mouse, and then use two or three cores for three seconds thanks only to the glare of your gunfire; three seconds of a gloriously photorealistic slide-show. Then back to total blackness. :) Which is good, with no glare from the monitor, no one will see that you wet yourself in the dark room.
Jokes aside, that picture up there looks awesome. Something to aspire to in a few years!
Can you imagine investigating a crime scene that LOOKED real but was really a simulation? It would be AWESOME! Then again I'm a CSI geek so that could just be me.
Let's be clear though, raytracing as described in the original Intel article will not come close to rendering this scene at all realistically. There are several effects at play here that can't be captured by bouncing a finite number of rays.
The most obvious is the window reflection which is an area light source. Raytracing as described in the article is only effective with point light sources. Sure you can optimize for square light sources by sending a ray to each corner and then doing some interpolation, but that's already increasing the number of rays by a factor of 4, and that's only a basic quadrilateral light source. And its only the tip of the iceberg for this scene.
The concentrated spots of light (caustics) will not show up with traditional ray tracing techniques. Diffuse reflection (hold a colored, but non-reflective object near a white wall). Depth of field (again requiring more rays). Also, true volumetric rendering can't just bounce rays off surfaces, it has to take into account translucent materials. For an example, consider the renderings of two glasses of milk at http://www.cs.sfu.ca/~psabzmey/personal/graphics/report.html.
Those were created with the wonderful PBRT software (free for educational use). Check out the gallery. All of those images took hours and hours to render on modern machines.
The key to photorealism is something called the global illumination equation which is actually an integral of an entire scene that represents all light interaction. The problem is that the integral is impossible to solve for any non-trivial scene and can only be approximated. Using Monte Carlo rendering techniques such as photon mapping one can render photo-realistic scenes (they will appear noisy if not given enough time to map sufficient photons).
I'm not familiar with modern gaming graphics algorithms, but I guarantee you that they are all based on shortcuts and approximations to take the computation time out of raytracing. There won't be a single moment where we switch to raytracing and then suddenly we have photorealism. The reason real time graphics look as good as they do is because of a lot of brilliant optimizations that have made the approximations much faster with minimal loss of realism. Where exactly you draw the line between 'raster' graphics and raytracing is unimporant. The fact is that we will continue to see incremental improvements in both rendering techniques and hardware, but a 4x or 10x or 100x speed improvement is pretty much a drop in the bucket when it comes to bringing state-of-the-art rendering algorithms to real-time processes.
http://www.pjblewis.com/home/
http://www.realstorm.com/realstorm/downloads06.html
I can't wait for raytracing to begin along the path towards things like this.
This would mean the edges remain blurry when there is a performance hit, but the center of the screen is reasonably sharp; and no slide-show.
If this cheating-mechanism could be made to look like the noise seen in high ISO film photographs, it could actually be a rather cool effect.
I'm sure there are a lot of other shortcuts that could be used aswell. After all, you only need to fool the eye; not render photorealistically.
I just wish I had the know-how to modify the OpenRT engine to demo this idea. Though it probably would basically involve telling the engine to instead of starting from 0 and going +1 from there to work with a 3D bell-curve centered on the screen, the comparative step up in complexity is quite high.
Plus there is the issue of teaching the engine to start with the next frame after 1/30th of a second too...
Maybe I should talk with the OpenRT devs instead of blabbering here? Eh? Hehe. =)
ED:
Nevermind OpenRT. Apparently it isn't Open Source after all.. :(
I think the article wasn't really focusing on the concept of a quad-core system processor doing the raytracing in realtime...if you read the linked article, you'll see that Intel is working on developing "RPUs", which will supposedly work in tandem with the GPU solely to perform ray-tracing duties. That would leave the processor available to render AI and the other stuff it's usually held accountable for...minus physics, assuming the PhysX engine is going to catch hold sometime soon.
Great article...I hadn't hear much about ray tracing in years, it's nice to see it brought back to the forefront, at least for enthusiasts.
you're forgetting that game developers write engines for high- and low-end gamers. they're not even going to think about developing engines that can only put out 30fps on the highest-end machines. gamers would be up in arms if they're brand new, $4000 dell had to run at 800x600.
mark my words: no mainstream raytracing until the end of the decade.
For an ordinary game, you'd be somewhat right, but a raytraced game would be a completely different paradigm. People would have different expectations.
I wont argue with you that raytracing still has some time before it hits games in real time.. However, just need to point out a little hitch in your logic.
Raytracing is not the same as todays raster based rendering methods. Therefore, a raytraced image at 800x600 lacks many of the visible flaws in an 800x600 traditionally rendered image. First that comes to mind is aliasing.
One of the main reasons we up our resolutions is to sharpen the image. More pixels = more detail = less aliasing (jaggies) and pixelation. This isnt to say that there isnt any aliasing found within low resolution raytraced images (especially if you have an LCD or a CRT with a very poor DPI rating), but its considerably less. Just to get a general impression of the difference (i'm pulling this out of the air so dont quote me..) lets say an 800x600 raytraced image would have aliasing comparable to a 1280x1024 image not using raytracing. There are many variables that contribute to the final output of an image. Raytracing will provide for more realistic surfaces, reflections, interactions with lighting, effects and decreased aliasing at the same time due to its nature.
The reason hard core gamers push the resolution barrier is for increased image quality. If you can achieve the same image quality at a lower resolution.. you will do so. Remember when AA and AF started to first show some real merit? Last I checked most gamers.. even hard core gamers.. would rather run 1280x1024 with full shadows, pixel and vertex shaders on.. and let the advanced AA and AF nudge the IQ up to what you would expect from 1600x1200 or higher.. tahn run at 2048x1536 and forsake all the great shader effects that add to immersion and ultimately increase image quality. It just takes a while to educate end users that higher resolution does not in all cases mean higher image quality. It depends on your setup.. and the only instance where higher resolution will always equal higher image quality is when you're playing your PC games on a big screen (52" +) while 6 feet or less away.
My point is, you cant measure tomorrows tools with todays standards. in days past a single core 3.2ghz processor was thoguht to be faster than a 2.8ghz processor when measured with technologies and tools of that day. Now you take one of those processors and compare it todays and that assumption becomes false. You can apply the same thought process to raytracing vs. raster.
The real hurdle here wont be so much hardware capabilities.. I really believe we will be capable by 2008. The hurdle will be turning over the whole industry to an entirely new concept.. from consumers, to manufacturers to software developers. That is what will push this transition well into 2010+. I think it would be safe to assume that by the time the console manufacturers are ready to start on their next hardware cycles we will be nearing the debut of real time raytraced games to be delivered to the masses.
:) - you a manager?
Heh, as well as being manegerial jargon it's a programming and software engineering term. :p
--Tim Sweeney, Epic
anyway, open source code for real time ray tracing and body tracking sounds interesting; and, the mud-wrestling waltzing dude is so :) it merits a look
story
http://blogs.zdnet.com/images/Body_Tracing_Output.png