Wolfenstein: Ray Traced

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Wolfenstein: Ray Traced is a research project from Intel Corporation that applied a ray tracing renderer to the game content of Wolfenstein (2009). The possibility of using ray tracing for this game in real-time has been demonstrated with a cloud-based rendering approach.

After Quake 3: Ray Traced, Quake 4: Ray Traced and Quake Wars: Ray Traced this is the fourth large project that embeds this real-time ray tracing in a modern game for research purposes of alternative rendering algorithms.

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.

Hardware setup[edit]

The project has been demonstrated at the Fall Intel Developer Forum 2010 using a cloud-based gaming approach.[1]

The ray traced image is calculated on four machines with each a prototype of Intel's Knights Ferry card inside.[2] That image is sent to a thin-client (small laptop) over Gigabit Ethernet. The client sends updates of the game states to the servers.

Improvements through using ray tracing[edit]

Debug view that shows the triangles at the chandelier model
  • Highly complex geometry: The original game content has been enhanced by using higher detailed geometry in some places. One example is the chandelier model that consists about one million triangles. That model alone has therefore three times the polygon count than the rest of the original game level.[3] As ray tracing uses spatial acceleration structures over the geometry it is possible to efficiently render such highly detailed, static models.[4]
Rendered glass on chandelier model
  • Glass: The added chandelier model uses a ray traced glass shader that accurately simulates reflections and refractions as they happen in nature. Rendering glass is usually considered an expensive effect as one ray hitting the glass surface spawns two more rays (reflection and refraction ray).
Surveillance station showing twelve different parts of the game level at the same time
  • Surveillance station: In one room of the level a surveillance station has been added that shows twelve different parts of the game level at the same time - all updated in real-time. Through using ray tracing the performance impact is from the total size of the screens seen from the current position, but not so much about what those screens display.[5] That allows having a large number of different views at the same time compared to traditional rasterized games that usually show only one or two of those at the same time. Such a surveillance station could enhance the gameplay by providing the player quickly with information about his enemies.
Reflecting scope of sniper rifle
  • Reflecting scope: 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. In a ray tracer this effect can be achieved efficiently as it requires only as many reflection rays as there are visible pixels on the scope. This could also be a gameplay-enhancing features as it provides the player with information about what is happening behind him like an approaching enemy.

Challenges using ray tracing[edit]

Performance[edit]

There cannot be an apple to apple 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 higher and usually over 100 frames per second on high-end graphics cards of 2010 .[6] The reported performance numbers in a resolution of 1280x720 of the ray traced version in the cloud-based setup are 40-80 frame/s[7] (depending on the scene) for a small laptop that displayed the game in a public demonstration.

Particles[edit]

Many games are displaying effects like smoke and fire over particles. Those particles consist out of a quad (two triangles) with a partially transparent texture of them. Usually those quads are aligned to the camera during rendering. By layering many of these quads the illusion of a volumentric effect is given. Doing the same effect in ray tracing requires the ray to proceed from the first hit on the quad through several more layering quads. Therefore such an effect can get very performance intensive to calculate.

Smoke and fire as particle effects.
Performance hot spots marked during rendering particles. Brighter means that more time is spent than in darker pixels.

References[edit]

External links[edit]