Ray tracing soon to go real-time for 3D rendering

Jack the Anarch

First time out of the vault
I don't know how well versed you gamers are in photo realistic image synthesis but the topic of real-time raytracing has been long present in academic levels. With the soon to arrive (2007.) quad-core processors (Kentsfield), such prestige might slowly begin to be available to desktop gaming rigs round the world. Before continuing read the following article to get a better idea what I'm talking about.

For the first time gamers could get to look at a synthetic world with 3 degrees of movement with quality level hitherto restricted to 2D game engines only. No more imperfect curvatures, limited distance of view, faked reflections and such.
A video portraying some of what might be available in raytraced games can be seen here
These guys from Saarbruecken have coded both a Quake 3 raytraced engine and an entirely new game of their own 'Oasen' featuring a 25 million polygons large scene rendered at over 25fps.

Here are a few more videos of what their engine can do in realtime:

http://www.intrace.de/images/gallery/twinbeetle/videos/Twinbeetle.avi
ftp://graphics.cs.uni-sb.de/boeing777_hq.avi (117 MBs - attention)

The last video portrays real-time rendering (1-3 fps) of a massive 350 million Boeing 777 model weighing at 30-60GBs on a single AMD Opteron 1.8GHz dual CPU machine at 640x480 resolution.

The advantages of raytracing are numerous, the most important being it's output sensitivity to geometric load, i.e. the performance is more restricted by desired resolution, realism level and antialiasing than it is with the geometric complexity of the scene to be rendered. To be precise the time it takes an optimized raytracer to render a scene can be descriped to be as O(logN) where as current hardware assisted engines can do no better than O(N) which becomes a huge handicap as scenes get bigger and bigger. And they most certainly are. O(x) is the Big-Oh notation used to give an asymptotic complexity of an algorithm in dependance on the variable x. Thus, state-of-the-art graphics hardware experiences a performance drop linear in the increase of geometric deteil. With doubling the scene complexity you lose 50% of the performance, whereas with raytracing you could increase the geometry size 40-fold and experience an only 10%drop in performance or even less if the scene was more complex.

Other than faster performance, with real-time raytracing you get considerably more realistic (read beautiful) renders than with current state-of-the-art graphics hardware. I know I'm in peril of boring even the more attentive readers, but I'll show you just how much more realistic you can get with raytracing.

Imagine that there are only two kinds of light scatterings at surfaces: perfect diffuse (like ideal matte paints, designated as 'D') and perfect specular (like ideal mirrors, designated as 'S'). Let there be a light source ('L') and a receving camera lens or an eye ('E'). Now, all the light paths raytracing vulgaris can simulate are described by the following regular expression: LD?S*E, where the asterix denotes that there can be arbitrarily many specular reflections (zero, one, five, etc.) and the '?' means that the scattering can happen once only or not happen at all, as a 0-1 bit). Once a diffuse surface has been hit from the eye (reverse order- hence raytracing) no more specular reflections can be simulated. This is one major drawback of simple raytracing but is still loads better than LD?S?E lighpaths that current state-of-the-art graphics hardware is capable of simulating. What you see in games without environment mapping is just LD?E and even with environment mapping on you get a faked specular reflection in most cases.

How would Fallout 3 look if raytraced? Awesome!!
Will Fallout 3 be raytraced? No!!
Is that sad? Yes.
Anyhow, thanks for reading through. Comments are welcome.
Cheers
 
Jack the Anarch said:
How would Fallout 3 look if raytraced? Awesome!!
Will Fallout 3 be raytraced? No!!
Is that sad? Yes.
This is last thing which Fallout 3 needs :wink:

Anyway, interesting article. 3D graphics technologies moves forward, but in most cases overall design and the "soul" of the games is going backward :roll:
 
Not interested.
Why?
Because it's too costly to be anywhere near practical at the moment and even in the near future. It's not a sad thing at all that Fallout 3 will not be raytraced since that won't add a thing to the game other than even higher system requirements.

I'd rather that they start using some cost-effective ways of getting some good results instead of going for even more shiny shit. Function-based curves, for instance.

Hell, I'd rather that the artists would concentrate on atmosphere instead of realism.
 
What Sander said. I doubt we'll see any implementations of real-time ray tracing engines outside academic circles in the next couple of years. In the meantime, there's still plenty of room for improvement to rasterization pipeline.

Sander said:
I'd rather that they start using some cost-effective ways of getting some good results instead of going for even more shiny shit. Function-based curves, for instance.
If you're interested in that stuff, I suggest you check out this paper. It details a theoretical enhancement to the standard graphics pipeline by adding a ray-casting stage between the rasterization unit and the pixel shader, which would naturally allow real-time rendering of parametric models such as NURBS patches (albeit the current proposal requires their conversion to Bezier curves in a preprocessing step... and storing them in a texture, but that was to be expected, since textures are the only way to pass a large number of arbitrary parameters to the GPU). In absence of such hardware, they managed to nonetheless implement a single-pass algorithm for real-time rendering of patches by doing the ray casting part in the pixel shader. And guess what? It works, with frame rates ranging from modest 18 to impressive 36 FPS on a single 7900 GT.

So that's *one* advantage of ray tracing you can have without going out of your way with bazillion-core CPUs and twenty graphics cards.
 
Ratty said:
In the meantime, there's still plenty of room for improvement to rasterization pipeline.

Last time I checked the pipeline was dead.

Anyhow, from the hardware standpoint, you can do real time desktop ray tracing right now. The Kentsfield was released on November the 1st, but is still prohibitively expensive, if it's available at all. Even with a Core 2 Duo, with 4GB RAM you can do wonders no current hardware assisted engine can do. From a programmers standpoint, it is considerably more easier to code a software ray tracing engine than a hardware assisted rasterization one.
Furthermore, it has been shown that raytracing can be efficiently implemented in hardware, and that might be yet another avenue hardware 'zillas might take.

When will first raytraced games be available? I already showed you two that are available since 2004, though at the time it took a cluster of PCs to run them at full interactive speed.
It only takes a creative team to make something out of the mainstream and that might be happening as we speak...
 
This is very relevant for me, as I study Industrial design. I wonder if it will be fully functional soon.
 
The Overseer said:
This is very relevant for me, as I study Industrial design. I wonder if it will be fully functional soon.
...
You study Industrial Design?

Man, you suck.

Seriously, that's the most retarded study on my entire university, with the most annoying people studying it (mainly people who take elevators from ground to first or second floor in a 12-floor building when I have to be on the tenth floor).
Supposedly the study found its origins here, in Eindhoven. And it really is a shit study. All that is done is projects in which you 'design'...something. They all do 'research', which means googling your subject until you find something interesting.
Like the fact that a person's personality is partially determined by his culture and upbringing. No shit, sherlock. Yes, that's actually what they consider research.
 
I could say whatever you study is idiotic. I want to work with designing cars and other vehicles, because I find it interesting. no need to introduce your menstrual opinion into this discussion, Sander. And I don't think it started in Eindhoven.
 
The Overseer said:
I could say whatever you study is idiotic. I want to work with designing cars and other vehicles, because I find it interesting. no need to introduce your menstrual opinion into this discussion, Sander.
You could say that. You'd be wrong, though. Industrial Design really *is* a shit study, unless it's done completely different in Sweden.
The Overseer said:
And I don't think it started in Eindhoven.
Yes, it did. Unless your Industrial Design is not the same as 'our' Industrial Design.
 
Back
Top