Slashdot Log In
Intel Shows Off Quake Wars, Ray Traced
Posted by
timothy
on Sun Jun 15, 2008 08:13 PM
from the this-time-I-really-mean-oooh-shiny dept.
from the this-time-I-really-mean-oooh-shiny dept.
An anonymous reader writes "At the Research@Intel Day 2008, Intel showed a ray-traced version of Enemy Territory: Quake Wars. Compared to the original game, a water with reflections and refractions and a physically correct glass shader were added. Also, a camera portal with up to 200 recursions to itself has been demonstrated. To show off this ongoing research in the topic of real-time ray tracing, a four-socket system with quad cores has been used that allowed rendering the enhanced visual effects in 1280x720 at 14-29 fps. Just two years before, early versions of Quake 4: Ray Traced ran only at 256x256 with 17 fps. Even though Intel's upcoming Larrabee will be primarily a rasterizer, the capabilities for also doing ray tracing on it should deliver interesting opportunities."
Related Stories
Submission: Intel does Quake Wars: Ray Traced by Anonymous Coward
[+]
Games: How <em>Quake Wars</em> Met the Ray Tracer 158 comments
An anonymous reader writes "Intel released the article 'Quake Wars Gets Ray Traced' (PDF) which details the development efforts of the research team that applied a real-time ray tracer to Enemy Territory: Quake Wars. It describes the benefits and challenges of transparency textures with this rendering technology. Further insight is given into what special effects
are most costly. Examples of glass and a 3D water implementation are shown. The outlook hints into the area of freely programmable many-core processors, like Intel's upcoming Larrabee, that might be able to handle such a workload." We mentioned the ray-traced Quake Wars last in June; the PDF here delves into the implementation details, rather than just showing a demo, and explains what parts of the game give the most difficulty in going from rasterization to ray-tracing.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Voxels? (Score:4, Interesting)
Height maps (Score:4, Insightful)
Parent
Re:Height maps (Score:5, Interesting)
Back then, most of my hardware-control loops used self-modifying bits and bobs... sometimes to save a byte, sometimes to avoid a fetch. A few times I used true self-modifying code where the outer loops would reprogram the inner loops on-the-fly. It was the most CPU-efficient way to do realtime multichannel sound synthesis on a 486, and of course it gave me the opportunity to refer to it as a dynamic synth compiler
All that lovely code died a quick, silent death when Windows 95 came along. It wreaked all sorts of havoc and Windows would kill the app as soon as it tried to self-mod. It's a shame I didn't keep up with the skills, I could be one rich despicable virus writer today
It's times like this I miss the 90's, I still have that 386 programming manual somewhere safe.
Parent
Re:Height maps (Score:5, Insightful)
Now children rule the internet, and programming is a dead end job.
What a shitty decade this is.
Parent
Re:Height maps (Score:4, Funny)
Parent
Re:Height maps (Score:5, Informative)
Parent
Why? (Score:5, Funny)
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Funny)
Parent
Re:Why? (Score:5, Interesting)
I loves me a good plot, with rich writing and character development, but I also loves me some 27" max-detail graphical virtuosity. Mass Effect is getting a lot of love from me right now, because it delivers a healthy balance of plot and visuals.
Crysis, of course, is a rather sexual experience at 1920x1200. Every now and then I'll perch myself atop a cliff and gaze at the breathtaking imagery... then I go back into cloak mode and snipe the mofos back to hell! I'm not a big FPS fan, but Crysis is one of the few titles that give me a sense of immersion, like I'm actually a gun wielding superhero instead of some synthetic alien cannon fodder.
Would I play Crysis if it looked like ass ? Probably not, because that particular experience hinges on the realistic graphics and all the fine details.
Would I play Quake if it looked like ass ? Hell yes, I would! In fact I did, it was called Quake 1-2-3... They're ghetto by today's standards, but the action was solid and I happily pissed away countless hours railing goddamned teenagers on instagib maps. Just give me a pixel to shoot at and I'm set!
I'm trying to think of a gorgeous game that sucked... memory is failing me right now, but there have been many. Actually, at the risk of getting flamed to death, I'd say Oblivion was one such stinker (for me). The graphics were pretty nice for its time, but I found the actual gameplay sluggish and clumsy. The sandbox concept worked well, but I spent most of my time walking around those stupid hell dimensions looking for stuff to kill, and then dicking around towns waiting for some NPC to come out of hiding at a specific time of day. Much like GTA, I quickly got bored of the storyline and started playing randomly, killing innocents and all the guards I could handle. I stopped playing it after maybe two weeks... epic fail.
Parent
Re:Why? (Score:5, Insightful)
Your short term memory must be failing you as well, because you mentioned Crysis not two paragraphs ago.
Parent
Re:Why? (Score:4, Insightful)
Parent
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Interesting)
Parent
Re:Why? (Score:5, Funny)
Parent
Re:Why? (Score:5, Funny)
Only sixteen cores?! For real computing power, you'd could run even more cores-- perhaps (Beowolf?) cluster several million machines so that each is responsible for a single ray/pixel.
Ultimately, this massively parallel distribution will provide data from an even bigger experiment-- what happens when you trace rays from the sun, bounce them off the earth, hit the CO2 layer, bounce back to the earth, back to the atmosphere, back to the earth...
Parent
Re:Why? (Score:5, Funny)
Parent
Re:Why? (Score:4, Insightful)
Parent
Re:Why? (Score:5, Insightful)
Parent
Re:Why? (Score:5, Interesting)
every ps3 owner tells me this same thing. Yet they always are at my house playing my Wii.
Parent
Re:Why? (Score:5, Interesting)
But that's because the Wii graphics are not really poor - they're just adequate for the games people really play.
Of course, if you try to put something like Assasin's Creed or GTA IV on the Wii - the graphics will suck and affect the sense of immersion and gameplay.
But that's also why no one is really playing those kind of games in the Wii.
Parent
Re:Why? (Score:5, Interesting)
Personally, after countless bad experience, I'm to a point where I'm very worry with good graphics. I almost automatically associate good graphics with poor gameplay and I tend to simply overlook those games.
As an example, a year and a half ago I discovered the Gothic series with Gothic 3. It was a fun game, much better than Oblivion, but I also got bored with the game after a while. I read a lot that the previous title were better, so I bought a copy of Gothic 1 on ebay. Of course, graphics were a lot worse, but the game was also a lot better and it was one of the few games I finished. I also bought Gothic Universe simply to have Gothic 2 NOTR.
Of course, the same game would be better with good graphics than with bad graphics, but graphics are still secondary to gameplay. I'd prefer an "eyesore" with good gameplay than a beauty with an average gameplay.
Parent
Re:Why? (Score:5, Interesting)
Actually, I believe real-time ray tracing open up some very interesting gameplay possibilities if people know how to use it.
Imagine a FPS, for example, on which you could notice a sneaking bastard on an unusual angle behind you because you saw his reflection on the doorknob you were about to pull. Or maybe cursing at the newbie because he didn't pay attention to the position of a specific lamp and now your team is screwed because your shadows have been noticed.
Then again, I think the whole FPS genre is saturated. Examples of other types of games are welcome here.
Parent
Re:Why? (Score:5, Informative)
The biggest immediately noticeable pros of ray tracing from what I've seen are reflections in arbitrarily complex geometry (current generation raster shadows are only viable for planar and some spherical reflections, unless there's a technique I'm not aware of). This, however isn't a good enough reason to switch to a purely ray traced paradigm IMO.
From a gameplay perspective it all seems a bit niche, but I'm sure there's someone out there with an idea that could make use of it. I just don't see FPS du jour picking it up any time soon.
Having said that, ray tracing may be a good utility to use alongside rastering techniques for things like sub-surface scattering or ambient occlusion.
Parent
Re:Why? (Score:5, Informative)
Dynamic shadows are still optional in just about every game that features them. Why? Because only really fast, expensive cards can do it, and even that's stretching it. Some engines will only render dynamic shadows from one light, and the ones that do it for more than one have to be very careful about not placing too many light sources too close together. This will get better as games finally drop support for DirectX 8 fallback (DX8 is generally not able to do dynamic lights at all), but the other restrictions will likely remain for quite some time.
There's a lot of shortcuts, hacks, and arbitrary map design rules to make this type of thing work. Even things that we're pretty good at these days like water are often more restricted than they seem. You know that nice water in Valve's Source engine? You can't have more than one body of that high-quality water on the screen at the same time, or you're liable to get "unexpected behavior." In other words, it doesn't work. This is specifically mentioned in some of the map making tutorials. So you'll find nowhere in a decently designed map where you can have two different pools with that nice high-quality, reflective, refractive water. You can use the "cheaper" water, though. The cheaper stuff still looks OK, but it's not the real deal and looks strange to see the two side by side. This is mostly an issue where the level of the water is different between two pools of water, such as having a diving pool next to a raised water tank or something. If they're the same height, you can just cheat and use one one body of water clipped through the intervening area for both both bodies of water. This only works, of course, in places where the area in between is unimportant - water floating in mid-air just might be an unexplainable phenomenon in the context of some story lines.
The way I read this, raytracing makes solutions for these types of problems more universal (ie. you just have water, no BS about what kind of water it is and where it can be), and the performance hit for doing it several times in a scene is way less. I'm in no way involved with graphics engines, but I would assume that most of these features require rendering the scene multiple times with different deformations, and that raytracing is somehow faster at this.
Parent
Re:Why? (Score:4, Informative)
Now, those doorknobs will make
A hybrid is the best approach. You correctly guessed that with rasterization, secondary-ray effects need to be calculated in multiple (and costly) passes. Moreover, since these passes usually render to a texture, you get aliasing issues because the texture pixels do not 1:1 match the screen pixels. You get blocky shadowmaps, blocky reflections, or noticeable noise when moving (in case the map is too large).
Parent
Re:Why? (Score:5, Informative)
1. It runs on 4 x quad core. Which is about just 4X the CPU power a normal user could have right now. A 4X speed improvement isn't probably that far away. They may be hoping to reach a point where a dedicated video card is no longer needed. With the required performance level being so near, adding some extra support to the CPU may be enough.
2. Raytracing scales differently than methods currently used in games. With raytracing, increasing resolution is what adds the processing time, while adding detail is very cheap. Which I'm guessing means that as soon as you get raytracing going in real time at a decent resolution, adding extra quality is cheap. This would radically change the current situation, and possibly drastically bump the quality level.
3. Raytracing implements effects like shadows and transparency in a straightforward manner, which should make it easier to code. Game developers should like that. Also, in my understanding, raytracing also doesn't need to decompose things like spheres into lots of triangles, so the engine can test a ray's collision with a sphere directly. If you can specify parts of a scene as objects like spheres, toruses and such, it'd result in much finer detail.
What I think Intel is trying to do here to ATI/AMD and nVidia is the same thing fast CPUs did to soundcards. There's no longer a real need to have specialized hardware to play MIDI or add effects to sounds, since the CPU is quite capable of doing it itself. In fact, IIRC, Creative had to *blackmail* John Carmack into supporting EAX, because he could implement the same effects faster using the CPU.
Parent
Re:Why? (Score:4, Insightful)
Parent
Re: (Score:3, Interesting)
No Caps? (Score:5, Insightful)
Huh (Score:5, Funny)
Congratulations Intel! (Score:4, Funny)
Re:Congratulations Intel! (Score:5, Insightful)
Parent
Re:Congratulations Intel! (Score:5, Interesting)
Parent
Meh (Score:5, Interesting)
I wonder if anyone tried to do hardware acceleration with, say, splines or something other than triangles.
Re:Meh (Score:5, Interesting)
The neat thing is that the resulting objects (if properly defined) have "infinite" detail. The roughness on a surface, for instance, can be based on a noise function, so you can zoom into it without ever seeing triangulation or other artifacts.
The obvious downside is that the computation here is intensive. Objects can be arbitrarily complicated. Calculating the intersection of a ray with a mathematically-defined surface involves very complex calculations. Rendering POV-ray scenes on modern hardware, for instance, can take minutes to days (depending on complexity).
One upside is that the rendering can be tuned to available resources. On older hardware, the number of light-sources (or the intersection accuracy, etc.) can be reduced. This would mean that video game graphics would get arbitrarily "better and better" on newer hardware, without any need for someone to change the code. Having said all this... I think our hardware is not yet powerful enough to make this kind of thing practical. (There are some neat examples that have been coded, but as a general technique we're not there yet.)
Parent
Ray Tracing and Pixel Shaders (Score:4, Interesting)
Reflective spheres (Score:5, Funny)
Re:Reflective spheres (Score:5, Funny)
Parent
Minimum framerate? (Score:4, Insightful)
Minimum usable framerate is around 35fps, if a fps drops under this, don't bother. Particularly don't bother if its going to cost 10 times the price for one tenth the framerate
Still need dedicated hardware. (Score:5, Informative)
Take that, John Carmack! (Score:5, Funny)
Re:Why do i feel that ... (Score:4, Interesting)
If you're waiting for humans to get rid of fast approximations when they're good enough, I hope you're patient.
Parent
Re:Why do i feel that ... (Score:4, Funny)
Parent
Re:Why do i feel that ... (Score:5, Informative)
Raytracing doesn't mimic how real world works. In fact it does exactly the opposite of what happens in real world. In real world you have bazillions of light particles, doubling also as waves, shoot out of many area light sources and bounce/be absorbed by objects around them.
Whatever photons end up hitting your retina, is what you see.
Raytracing instead shoots a ray out of your (virtual) retina straight forward to the scene and may refract/reflect off objects, until it's "absorbed" (means, hits a surface where refraction/reflection isn't calculated).
Rendering a single frame of 3D as it is in the "real world" (with just a fraction of the rays) would mean days on even the fastest hardware out there.
What raytracing gives you is sharp reflections, refractions and shadows, while introducing a bunch of other limitations on the rendering that rasterization doesn't have. It also can't do soft shadows, reflections, refractions, efficiently, nor subsurface scattering, or radiosity.
Best models for rendering in the future will likely be hybrid models similar to what is now used in professional renderers by movie studios. But then again, it's a game, who cares about mathematicaly accurate reflections, when you can fake it close enough with reflection/refraction maps in a fraction of the processing time.
Parent
Re:Why do i feel that ... (Score:5, Interesting)
I assume you didn't mean for "efficiently" to be an item in your list, which is the way you wrote it, but raytracers can do all of those things. (I'll make no claims about efficiency.)
"But then again, it's a game, who cares about mathematicaly accurate reflections, when you can fake it close enough with reflection/refraction maps in a fraction of the processing time."
That argument is no more valid that if you say "it's just a game, why don't you just do raycasting, which takes a fraction of the processing time". "Faking it close enough" isn't close enough; it's obvious that you're faking it, and it requires that you either live with it or design your game to minimize the impact of faking it.
Parent