Quake 2" shows just how impressive ray tracing can be
Background information

Quake 2" shows just how impressive ray tracing can be

Philipp Rüegg
1.2.2019
Translation: machine translated

A group of German doctoral students have shown just how much potential ray tracing has. They have calculated the lighting effects in the cult shooter "Quake 2" in real time using Nvidia's pioneering technology. The head of the project explains to me how he achieved this and what it means for future games.

"Quake 2" was released almost 20 years ago and was a feast for the eyes even back then. But what Christoph Schied has now got out of the shooter looks amazing, even by today's standards. With the help of some fellow students, he has utilised Nvidia's ray tracing technology and released Q2VKPT, a version of the game that calculates dynamic lighting effects in real time. The result can hardly be compared with the original.

Q2VKPT is the abbreviation for "Quake 2", Vulkan, Path Tracing. Vulkan is the interface (API) that makes the use of ray tracing possible in the first place. Finally, path tracing refers to the algorithm that enables the simulation of lighting. Path tracing is also used in the film industry, for example in Disney animated films. Provided you have an RTX card, you can download Q2VKPT here and try it out.

Image: brechpunkt.de
Image: brechpunkt.de

The project originated as a concept study at the Karlsruhe Institute of Technology (KIT). Christoph Schied, a doctoral student in computer graphics, is in charge. I wanted to find out from him how Q2VKPT came about
.
How did you come up with the idea of implementing ray tracing in "Quake 2"?
Christoph Schied, PhD student: I am currently researching denoising methods for Monte Carlo methods (e.g. path tracing). In graphics research, it is always difficult to find suitable test scenes that have the right difficulty on the one hand, but at the same time do not involve a huge implementation effort. For a paper dealing with adaptive temporal filtering, I used a scene from a "Quake 1" mod because I wanted moving and flickering lights. To evaluate the technique I wrote a prototype in a research graphics engine, which unfortunately does not contain any functionality to make the project playable. After watching the flying rockets for so long during the project, I wanted to play it myself at some point.

Why "Quake 2" in particular?
The Quake engines are suitable for such modifications because they still have an active developer community, are open source and have a pretty nice and tidy code. For a project like Q2VKPT, the effort to rewrite the renderer was still bearable. For more modern games, it becomes increasingly complex as more and more features have to be supported. "Quake 2" has a much more coherent level design in terms of light sources compared to "Quake 1", which still relies heavily on manually placed point light sources.

How difficult was the process?
It was very time-consuming. The rendering techniques are at the cutting edge of research and have never been shown in a game before. Of course, this brought with it many new challenges that I hadn't considered before, which also led to new research projects. In addition, of course, the "Quake 2" engine was designed for completely different rendering processes. That means I had to redesign everything from scratch. Currently, Nvidia's RT cores are only accessible with the low-level interfaces DXR and Vulkan, which significantly increased the workload even further.

Image: brechpunkt.de
Image: brechpunkt.de

The hardware requirements of your "Quake 2" version are quite a challenge compared to the original. Is this due to the lack of maturity of ray tracing or the optimisation of Q2VKPT?
Path tracing is a very complex process that was previously only used in offline processes. The original version only had primitive dynamic effects, the more complex simulation of light transport was elaborately pre-calculated and saved in a texture. Q2VKPT, on the other hand, dynamically recalculates the lighting for each image, which naturally results in significantly higher hardware requirements.

Which older games are particularly well suited - or particularly poorly suited - for the subsequent implementation of ray tracing?
Games that already use sensible and realistic lighting, i.e. have sensibly placed light sources, are best suited. Otherwise, the levels of the games would have to be adapted. Even "Quake 2" is not ideal in this respect, as "Quake 2" uses some point light sources that make no sense in terms of level design. However, they are necessary to suggest indirect lighting. These are ignored by Q2VKPT, which is why some of the levels are quite dark.

Another major difficulty is that old games do not assign physically meaningful properties to the surfaces, which are necessary for a correct simulation of the propagation of light. This was also a real problem with "Quake 2", which is why we had to resort to some hacks.

Q2VKPT has impressively demonstrated what RT is capable of. How do you think the technology will develop in games? How quickly will developers take hold of this technology?
I'm afraid that it will be a while before path tracing really arrives in games. The transition is difficult, as games have to be designed completely differently for path tracing and are therefore not so easy to run on old hardware. There are also still some research questions to be answered before path tracing will be truly robust on modern game assets.

Image: brechpunkt.de
Image: brechpunkt.de

However, I hope that we will see increasingly better shadows in games in the near future. Switching from shadow maps to stochastically selected area light sources will finally allow us to calculate correct soft shadows for all lights. That alone would be a huge step forward in graphics quality.

31 people like this article


User Avatar
User Avatar

Being the game and gadget geek that I am, working at digitec and Galaxus makes me feel like a kid in a candy shop – but it does take its toll on my wallet. I enjoy tinkering with my PC in Tim Taylor fashion and talking about games on my podcast http://www.onemorelevel.ch. To satisfy my need for speed, I get on my full suspension mountain bike and set out to find some nice trails. My thirst for culture is quenched by deep conversations over a couple of cold ones at the mostly frustrating games of FC Winterthur. 


These articles might also interest you

Comments

Avatar