Quake Wars: Ray Traced

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Quake Wars: Ray Traced
Original author(s) Intel Corporation
Type ray tracing rendering engine
License proprietary?
Website www.qwrt.de
File:QWRT gameplay.jpg
Quake Wars: Ray Traced

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[1] and last on an early prototype of the Larrabee hardware.[2] 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

File:QWRT forcefield.jpg
Force field shader
  • 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.[3] Another example of this is a windmill model with blue sails that project colored shadows.[4] As of 2009 no commercially released game has shown different intensity colored shadows from partial transparent objects.
File:QWRT water.jpg
Ray traced water
  • 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.
File:QWRT underwater.png
Total internal reflection seen under the water
  • 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.
File:QWRT lens.png
Reflecting scope of sniper rifle
  • 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.[5]
File:QWRT glassdome.jpg
Dome made out of glass
  • 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.[1]
File:QWRT portals.png
Camera portals in camera portals
  • 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.[5]
  • 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.[6][7]

Challenges using ray tracing

Performance

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.[8] The reported performance numbers in a resolution of 1280×720 of the ray traced version have been given for a variety of systems:[1]

  • 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.[9]
File:QWRT performance.jpg
Performance hot spots marked during rendering. Red costs more performance than blue.

Transparencies

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.

Video

File:Quake Wars Ray Traced.ogv
Quake Wars Ray Traced

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.

External links