Software:Quake Wars: Ray Traced

From HandWiki
Quake Wars: Ray Traced
Original author(s)Intel Corporation
Typeray tracing rendering engine
Licenseproprietary?
Websitewww.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. 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 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

References

External links