Domain: nhtv.nl
Stories and comments across the archive that link to nhtv.nl.
Comments · 8
-
photon mapping vs ray tracing
What you have described is called photon mapping. I think there is some support for photon mapping in at least some version of povray (I'm not sure if it ever made it in to an official release), but in any case it's an optional feature. It is more accurate to refer to povray as a ray-tracer. In ray-tracing, you send out rays from the camera position and test them for intersection against objects in the scene. These rays can in turn spawn additional rays (for reflection and refraction), and at each hit location you can cast a ray back to each light source to test whether that light is occluded by an object.
There actually are some pretty good game engines that do ray tracing. I'd recommend looking into Arauna and Brigade. (Last time I tried them they were a bit sluggish and ran at a low resolution, but that was about 5 years ago so things have probably gotten better.)
-
We can already do that without exotic hardware
I'm a big fan of real-time ray tracing, but this doesn't sound all that exciting, considering that about three years ago I was able to play a real-time ray-traced game on a middle-of-the-road laptop. Resolution and framerate weren't great, but it was playable. The game I refer to is Outbound an open-source game based on the Arauna engine.
It's great that this is on Intel's radar, but whenever Intel demonstrates some new real-time ray-tracing demo that requires a cluster of machines, or some other kind of expensive, specialized hardware, I just think they've kind of missed the boat. We can already do that sort of thing on an ordinary desktop. (The linked site is down, so perhaps there's more to this announcement than the slashdot summary would lead me to believe.)
-
Consider studying in the Netherlands
Did you ever consider studying in the Netherlands? We have a nice program here, called IGAD (International Game Architecture & Design). There's a visual art specialisation and a programming specialisation. 75% of the staff is 'foreign', and so the language is English. 90% of the staff has 10 years or more of game industry experience. And, best of all: Studying in the Netherlands is cheap. Check here: http://www.nhtv.nl/made . (end of shameless plug)
-
Re:Never ending chase...
I am still waiting for a game/demo that actually is build from the ground up with ray tracing in mind and by that I mean one that actually looks good,
Have you tried Outbound? You can find it here. While it's probably not destined to be a huge hit, it looks nice and runs at a playable framerate on a reasonably fast computer. (If you don't want to try to "beat" the game, there's an option buried in one of the configuration files to disable physics and just fly around and admire the scenery.)
-
overestimating the cost of ray tracing
During the Analyst's Day, Jen-Hsun showed a rendering of an Audi R8 that used a hybrid rasterisation and ray tracing renderer. Jen-Hsun said that it ran at 15 frames per second, which isn't all that far away from being real-time. So I asked David when we're likely to see ray tracing appearing in 3D graphics engines where it can actually be real-time?
"15 frames per second was with our professional cards I think. That would have been with 16 GPUs and at least that many multi-core CPUs â" that's what that is. Just vaguely extrapolating that into our progress, it'll be some number of years before you'll see that in real-time," explained Kirk. "If you take a 2x generational increase in performance, you're looking at least four or five years for the GPU part to have enough power to render that scene in real-time.
Modern real-time ray tracers can get respectable performance without doing any sort of GPU-hybrid trickery, or requiring any hardware other than a fast CPU. For instance, try out the Arauna demo. (Dedicated ray-tracing hardware would be nice, but I'm not aware of any hardware implementation that has significantly outperformed a well-optimized CPU ray tracer. With the resources of a major chip manufacturer I don't doubt it could be done, though.) Arauna and OpenRT and the like might still be a little too slow to run a modern game at high resolution, but they're getting there fast.
"People use ray tracing for real effects as well though. Things like shiny chains and for ambient occlusion (global illumination), which is an offline rendering process that is many thousands of times too slow for real-time," said Kirk. "Using ray tracing to calculate the light going from every surface to every other surface is a process that takes hundreds of hours."
This is just plain ignorant. Naive, O(n^2) radiosity may take that long, or path tracing with a lot of samples per pixel, but a decent photon mapping algorithm shouldn't be anywhere near that slow to produce a rendering quality acceptable for games. Maybe "hundreds of seconds" might be a more plausible number. (Or less, if you're willing to accept a less accurate approximation.) Metropolis Light Transport is another algorithm, but I don't have a good notion of how fast it is.
-
hours per frame?
There are some fine real-time ray tracers out there that have interactive frame-rates with moderately complex scenes on reasonable hardware. Try the arauna demo, for instance. (Note: you probably need windows to run it, wine didn't work for me.) There are others as well; Arauna just happens to be one I've tried out recently. I got about 20fps or so on a friend's dual-core laptop at a resolution somewhere around 640x480. Not fast enough to throw out the GPU just yet, but usable. Somewhere between N-64 and Gamecube-level performance.
Real-time ray tracing is still quite a bit slower than GPU rendering on typical scenes, but hardly "hours per frame", unless you're rendering frames for a movie or doing an art project and care more about realistic lighting effects than performance. (I think too many people have tried povray in the 90's on their old 486s and still think somehow that's as fast as ray tracers ever will be.)
There are a lot of ways to make a ray-tracer slow: photon mapping, radiosity, path tracing, using primitives that have slow ray-intersection tests, using the wrong acceleration structure, excessive reflection, many light sources, etc.. but if you're just rendering triangles, it's quite possible to get usable interactive performance out of a good ray tracer on current hardware. We can add all those "slow" features that pixar et. al. use when the hardware (and algorithms) are ready for it.
-
Ray tracing in games
At the NHTV university of applied sciences, IGAD department, we are researching the use of ray tracing in games. Two student teams are working on proof-of-concept games using the technology. You can read about findings so far in my paper on real-time ray tracing in the context of games, on http://igad.nhtv.nl/~bikker and http://igad.nhtv.nl/~bikker/files/rtgames.pdf . There's also a real-time demo that shows what a modern PC can do.
-
Ray tracing in games
At the NHTV university of applied sciences, IGAD department, we are researching the use of ray tracing in games. Two student teams are working on proof-of-concept games using the technology. You can read about findings so far in my paper on real-time ray tracing in the context of games, on http://igad.nhtv.nl/~bikker and http://igad.nhtv.nl/~bikker/files/rtgames.pdf . There's also a real-time demo that shows what a modern PC can do.