Tom's Hardware Forums » CPU & Components » CPUs » Ray Tracing on the horizon
 

Ray Tracing on the horizon

Add a reply



 Word :   Username :  
 
Bottom
Author
 Thread : Ray Tracing on the horizon
 
Profile: journeyman
More Information

Interesting read...
http://arstechnica.com/news.ars/po [...] -7430.html

Using ray tracing, we will finally be able to achieve near photo realism. With poly-core CPUs coming out real fast, hopefully game makers will incorporate raytracing into their code. While we're probably decades away from full blown real time ray tracing, a combination of raster/ray tracing seems possible.

I think in today's games, there's too much emphasis on running things at High resolutions. I believe an analog TV runs at 640x480, but the picture quality of a TV is light years ahead of any game running at insane resolutions. I think game makers should de-emphasize resolutions and focus more on quality of images. I'd rather take a high quality 640x480 image over a poor quality 1900x1400 any day of the week. 640x480 is more than enough for a ray traced image to look good.

Related Pr oduct
Register or log in to remove.

Profile: Faithful Poster
More Information

Ray Tracing is the oldest technique used for 3D games. It can give excelent image quality, but insane computiong power will be required. Unlike the 3D accelerators, ray tracing is almost not affected by the complexity of the displayed scene. This is very important becouse the graphics settings of todays games are limited by the lowest FPS rate(when complex scenes are displayed). But even with this advanced technique of ray tracing, for playing with 25FPS at 640x480 we'll need much more than any near future quadcore system.

Profile: enthusiast
More Information

I guess this could be the killer app of a "microcore" architecture CPU, I think I remember reading this is an area Intel are currently researching - having many simple CPUs on a chip rather than a few complex ones. I don't know the ins and outs of ray tracing, but if it only requires a simple core (no SSE, OOO execution etc.) then maybe this is the way to go

m25
Profile: Faithful Poster
More Information

Quote :

Ray Tracing is the oldest technique used for 3D games. It can give excelent image quality, but insane computiong power will be required. Unlike the 3D accelerators, ray tracing is almost not affected by the complexity of the displayed scene. This is very important becouse the graphics settings of todays games are limited by the lowest FPS rate(when complex scenes are displayed). But even with this advanced technique of ray tracing, for playing with 25FPS at 640x480 we'll need much more than any near future quadcore system.



Right; the time for raytracing is still far. My A64 3000+ is not to be called crap (at least for a while) but 2 days ago it took it 5+ hours to render 1min of animation involving raytracing in 512x384px. Even the best Core2 would have hardly gone below 1h 30min.
The problem is that even if it was faster, raytracing is greatly influenced by material properties: semitransparent surfaces take much longer than opaque areas, then mirroring... At the end we'd en up having 'random' slowdowns and spedups depending on what the camera is showing. These surfaces are actually replaced by other faster methods and pure raytracing is still far from entering games.

Profile: stranger
More Information

I read an article in Scientific American about ray tracing a few days ago. In fact, there's a significant amount of research going into hardware ray tracing, which is really the point. It isn't a fair comparison to force the CPU to do ray tracing. The only thing that makes sense is to REPLACE the GPU with a dedicated ray tracing chip. The technology needed for real-time hardware ray tracing is very nearly in place, partly thanks to a number of recent advances in algorithms (some of which are mentioned in the Intel whitepaper that JumpingJack provided).

Researchers at Saarland University in Germany have actually created what they term an "RPU" (ray processing unit or something like that), which is able to render "tens of ray-traced frames per second" (according to the Scientific American article). They're currently searching for investors to commercialize the chip.

So my prediction is that within three years, we see very expensive ray-tracing cards hit the market. At first, of course, they'll only be usable with high-end rendering and CAD software. But once the potential of the technology really becomes apparent, it won't take long for hardware ray tracing to hit the gaming market like a ton of bricks. I'd say we have about five years (and certainly less than a decade) before traditional rendering in games becomes obsolete.

Profile: journeyman
More Information

In the Intel article, it mentions that as images get more complex, meaning more triangles, the rasterization process gets prohibitive more expensive in terms of CPU power. I believe they say that 1M triangles was where the CPU can ray trace as fast as a Geforce can rasterize. I think this means that as games get more and more detailed, it would make sense to switch to ray tracing at some point...

Intel mentions 450M raysegs/S as the point where we see the benefits of ray tracing. With a P4 3.2ghz capable of doing 100M raysegs/S, a Kentsfield should be able to perform ~450M rays/s. I remember reading somewhere that by 2010, Intel will have 32-core processors. That means ray tracing is a possibility within the next 5years.

Initially of course, surface reflections and refractions have to be kept to a minimal. But I think shadows and some rendering can be done real time right now via ray tracing. A hybrib ray trace/raster process can improve image quality of games immensely.

I wish game makers will utilize that 2nd CPU core for good use or that GPU for that matter.

Profile: stranger
More Information

that was very interesting. ty for your post. I have a lot of interest in graphics. b nice if you could read the complete original article online w/o a subscription. let me know if your have access to it and could email it to me plz.

pat
Profile: Forum Veteran
More Information

Quote :

Interesting read...
http://arstechnica.com/news.ars/po [...] -7430.html

Using ray tracing, we will finally be able to achieve near photo realism. With poly-core CPUs coming out real fast, hopefully game makers will incorporate raytracing into their code. While we're probably decades away from full blown real time ray tracing, a combination of raster/ray tracing seems possible.

I think in today's games, there's too much emphasis on running things at High resolutions. I believe an analog TV runs at 640x480, but the picture quality of a TV is light years ahead of any game running at insane resolutions. I think game makers should de-emphasize resolutions and focus more on quality of images. I'd rather take a high quality 640x480 image over a poor quality 1900x1400 any day of the week. 640x480 is more than enough for a ray traced image to look good.



When I was doing ray tracing, back in 1994, with my Amiga or 386 and POV, I had to leave my computer on for a week, if the image was complex, and resolution was about 800x600... now, with modern CPU, it ait that long, but still not fast enough for real time rendering.

And no, a 640x480 raytrraced image don't look good on a LCD monitor in full screen, no matter how much quality was put in..

pat
Profile: Forum Veteran
More Information

Quote :

Just to be clear, it is not a function of the ray trace algorithm or the number of rays traced, but because of the crappy resolution :)



That I know.. but the OP seems to prefer low res than higher res...

Profile: newbie
More Information

If you can make a raytracing chip, then you could probably adapt it to a next gen GPU. After all, GPU's are becomming more and more like a highly parallelized CPU. You could probably use some sort of an algorythm to approximate raytracing, or just use it in a very limited fashion untill hardware can do the calculations outright.

m25
Profile: Faithful Poster
More Information

Quote :

If you can make a raytracing chip, then you could probably adapt it to a next gen GPU. After all, GPU's are becomming more and more like a highly parallelized CPU. You could probably use some sort of an algorythm to approximate raytracing, or just use it in a very limited fashion untill hardware can do the calculations outright.



Much easier to write than to do!!! Actually, shadow buffers are used to speculate light and shadow but that is far less realistic. Raytracing itself is still too much for games and it will probably be for a while.
We're still in an age when it takes around one year to render a raytraced movie on a cluster of hundreds of dual cores..., tes, it will take a good while for that. You will probably see I-robot become reality before that happens :D

Profile: newbie
More Information

I'm not so sure.

Quote :

The Intel paper isn't focused on real-time ray tracing, and the numbers in the paper show it to be just beyond the reach of desktop processors at the time of publication (2005). The authors measure ray tracing performance in terms of the aggregate number of ray segments traced per second (raysegs/s), and they suggest that you can start to do some interesting things with real-time ray tracing when your hardware can do 450 million raysegs/s. The 3.2 GHz Pentium 4 processors used for the paper was able to do real-time ray tracing (30 FPS) at 100M raysegs/s, and the authors measured a linear speedup in performance as they scaled the number of CPUs. If you do the math, this means that five P4 processors get you into the "interesting" range.



We all know that GPU's are far more powerful than CPU's, it's just dedicated tword graphics and not general purpose processing. I'm willing to bet a current generation high end GPU (R580 or G71) could meet the computational power requirement, but you wouldn't be able to program them to do it, let alone get a decent framerate in the end. SM4.0 might include some form of raytracing, but that particular feature won't be full fledged untill a later revision. But as GPU's have been doubling in power with each successive generation, the R600 and G80 might be the turning point for making something like this become reality.

Don't believe it? The GPU has become very close to the CPU in structure recently. To the point where havok is using it for physics (though no games have been anounced to use havok fx), and even folding (it's nearing a beta AFAIK). All this is on current SM3.0 GPU's. The move to vista, SM4.0, and directx 10 is making the GPU even more capable and programable while decreasing the performance hit incured by doing so. While I doubt this feature will make it into the directx 10 release, it wouldn't suprise me if it's in 10.1 (or 10.0b or whatever they call it).

Profile: enthusiast
More Information

Sorry, NO.

You simply do not understand video data rate.

BTW: Standard PAL TV is 720 x 576 - at least in places which have a decent TV system! ;)

640 x 480 is TEH SUXOR even with 8XFSAA. You simply can't get the high resolution textures to display with any kind of clarity. Sure, you might be able to get a refresh rate of 180Hz at 640 mode, but 1280 mode has 4 times the pixel count of 640 mode, and yet you can still probably get 100 Hz from a decent monitor at this resolution.

That means (just about) double the video data rate.

See, TV gets away with 720 mode and only 24 frames a second because it is blurry as all hell. Press pause on a DVD in a fast moving scene.

PCs don't blur stuff, so you need a very high data rate in order to fool the eye into believing non-flickering motion.

Profile: addict
More Information

640x480 Just isn't viable for 100% of the TFT users, and me with a 22" crt would be able to count those damn pixels..

Besides, there's too much detail loss, for instance I play BF2 and BF1942 at 1600x1200 just so I can see enemies coming from further away than other people do...

But I do think 2048x1536 is a pretty decent resolution to aim for, to never dip below 30fps. The human eye can't really distinguish much more than that at a distance of 2 feet.

Profile: enthusiast
More Information

One important difference between TV and PC’s, TV has an unlimited color palette. PC's 32 bit color is very large but still limited compared to TV.

BTW; you’re correct that 640X480 is aprox the resolution in NTSC.

Profile: addict
More Information

Well, CRT is capable of practically infinite colours, but you never receive all-analogue data anymore, so everything the TV displays is at best 32bit, and really is usually considerably worse.

Discovery is a pretty horrible excuse of picture quality for one, you can even see the mpeg/avi compression artifacts on that channel.

m25
Profile: Faithful Poster
More Information

I already mentioned it earlier in this thread: I'd love a GPU that rendered me a 1 min video in less than one hour.
1-If GPUs are mostly about graphics pipelining, raytracing is a computational method and in you transfer it to the GPU, you will only end up taking out the latency of the CPU-video transfer.
2-Todays CPUs are highly optimized towards arithmetics, however raytracing requires too many computations/unit time to be implemented realtime.
Just take a look @ the charts to see the 3D Max rendering times and then bare in mind that it is A SINGLE, AVERAGE FRAME. Rendering 60 of them with today's best CPU fills 1 hour, not 1 second, I mean, we need a technology to go 3600x faster... so we'll have to wait for a while :wink:

Profile: Faithful Poster
More Information

Quote :

One important difference between TV and PC’s, TV has an unlimited color palette. PC's 32 bit color is very large but still limited compared to TV.


I bet on my ass that no one alive is able to notice at least 1 difference between 24bit & 48kilobit, 96 megabit, 192 gigabit, 384 terabit and 768 petabit palette on any kind of display avilable on earth.

m25
Profile: Faithful Poster
More Information

Quote :

One important difference between TV and PC’s, TV has an unlimited color palette. PC's 32 bit color is very large but still limited compared to TV.


I bet on my ass that no one alive is able to notice at least 1 difference between 24bit & 48kilobit, 96 megabit, 192 gigabit, 384 terabit and 768 petabit palette on any kind of display avilable on earth.

:lol: Put my Augusts salary too! The only thing I distinguish is 16 bit from 24 bit.

Profile: enthusiast
More Information

Hmmm the latest nVidia graphics card is like 4 times more powerful probably than an X6800 cpu, so if the x6800 could do 250M raysegs/S i'm sure a 7950, could do 750 rays/s. Not sure what effects would be included though, probably would look like a game from 98 :)

Sometimes I think about you
Profile: enthusiast
More Information
n°1235443