Quake Wars: Ray Traced
|Original author(s)||Intel Corporation|
|Type||ray tracing rendering engine|
Quake Wars: Ray Traced is a research project from Intel Corporation that applied a ray tracing renderer to the game content of Enemy Territory: Quake Wars. The possibility of using ray tracing for this game in real-time has been demonstrated first on servers and after further progress later on workstations and last on an early prototype of the Larrabee hardware. After Quake 3: Ray Traced and Quake 4: Ray Traced this is the third large project that embeds this technique in a modern game for research purposes of alternative rendering algorithms. A successor of this project Wolfenstein: Ray Traced has been created in 2010.
Since 3D graphics hardware accelerators have become popular in regular desktop computers the rendering algorithm of commercial computer games has been limited to the rasterisation technology that has certain advantages, but also limitations.
Improvements through using ray tracing
- Shadows: Besides the usual hard shadows that are easily generated by using a ray tracer this project also highlighted the benefits of getting plausible shadows through partial transparent objects. This has first been shown on a force field shader that changes transparency and color over time. The intensity of the shadows changes accordingly. Another example of this is a windmill model with blue sails that project colored shadows. As of 2009 no commercially released game has shown different intensity colored shadows from partial transparent objects.
- Water: Accurate, per pixel exact reflections and refractions have been shown on a dynamic water surface with wave simulation surrounding an island. In a traditional rasterizer these effects are only possible in a less accurate manner through generating separate reflection textures and usually some distortion algorithm that simulates a refraction-like behavior.
- Under water: Through simulating correct reflections and refractions the player is able to see the total internal reflection effect if he is under the water surface and looks up to the sky. As of 2009 no commercially released game has shown this special effect.
- Gameplay enhancing: The lens of the game's sniper rifle has been changed to show physically correct reflections of the environment behind the player. To achieve this in a traditional rasterized renderer another view would have been needed to be rendered, stored in a texture and projected back onto the lens. Enabling this effect in the ray tracer had only a 1% performance impact on the frame rate.
- Glass: To demonstrate the properties of a ray traced glass shader a dome has been shown consisting of a glass surface that correctly reflects the surrounding environment including all dynamic objects.
- Collision detection: Besides handling the graphical tasks the ray tracer has also been used to calculate collision detection.
- Portals: Multiple recursion of camera portals has been shown. This effect is already known from other games like Portal with a default recursion depth of 10. In comparison to that the ray traced implementation has been achieved through only one line of ray tracing shading language code and shows a recursion depth of up to 250.
- Massive dynamics: To prove that highly dynamic scenes can also be handled in a ray tracer, 500 player objects have been added to the scene and animated.
Challenges using ray tracing
There cannot be an apple-to-apples performance comparison between the original and the ray traced version due to the additional special effects, but in general the frame rates on the original, rasterized version are several factors higher and usually over 100 frames per second on high-end graphics cards of 2009. The reported performance numbers in a resolution of 1280×720 of the ray traced version have been given for a variety of systems:
- Caneland server system with four Tigerton quad-core CPUs, 2.93 GHz: 15 - 20 frame/s
- Caneland server system with four Dunnington hexa-core CPUs, 2.66 GHz: 20 - 35 frame/s
- Workstation system with two Nehalem quad-core CPUs, 3.2 GHz: 15 - 20 frame/s
- Graphics card Larrabee (early prototype): Exact numbers unknown.
In the traditional rasterization approach transparent objects can be rendered comparably fast. In the implementation of Quake Wars: Ray Traced objects like trees, that are simulated through multiple partially transparent quad surfaces have been performance intensive to render.
- "Quake Wars: Ray Traced Webpage".
- "News article about Quake Wars: Ray Traced on Larrabee at SemiAccurate.com".
- "White paper: Quake Wars Gets Ray Traced".
- "PC Games Hardware: Picture of colored shadows of windmill model".
- "Siggraph 2009 Expo talk about Quake Wars: Ray Traced".
- "PC Games Hardware article: Quake Wars: Ray Traced - new version with enhanced features".
- "Golem.de: Video of 500 dynamic players in Quake Wars: Ray Traced".
- "Benchmarks Enemy Territory: Quake Wars on modern graphics hardware".
- "Video of Quake Wars: Ray Traced demo on Larrabee".