Skip to main content

Quake 2 RTX: The benefits of real time ray tracing

·985 words·5 mins· loading · loading ·
Cheecken
Author
Massimiliano ‘Cheecken’ Camassa
Maintainer of the Entropic Domain and Creator of the Cheecken YouTube Channel. Always ready to try new things.

The primary rendering technique used for real time rendering is rasterization. The scene geometry normally is divided into an array of pixels and as a result they are displayed on your monitor. This might not bear the most realistic results, but it is an inexpensive and fast rendering technique which is perfect for real time graphics rendering. This method evolved and complicated over the years. Now a wide range of post processing effects, texturing and lighting methods have been developed to increase graphical fidelity. How lights and shadows work in any given engine, isn’t as straight forward as you may think at times.

So, what can be done about it? The alternative to rasterization is ray tracing, which can render everything on its own, or can be a part of a specific rendering process only. With the release of the RTX model line up, NVIDIA paved the way for real time graphics rendering in games. Up until now only few games utilize this technology in various different ways.

The beginning of ray traced games
#

Quite a few games support ray tracing already, some popular examples being Metro Exodus, Battlefield V, Minecraft and Quake 2. Metro Exodus utilized ray tracing for global illumination, while Battlefield used it for reflections. Minecraft’s ray tracing capable shader pack by Sonic Ether however, is not based off RTX technology and can also be used with GTX graphics card. Yet, all these examples still rely on rasterization.

The only game that only utilizes ray tracing to render everything, is Quake 2.

Quake 2: How a 20 year old game became a ray tracing tech demo
#

My video showcase of Q2VKPT including an explenation of Path Tracing

Thanks to a Quake 2 modification called Q2VKPT more and more people started to understand what benefits ray tracing bears. Q2VKPT stands for “Quake 2 Vulkan Path Tracer”. As the name suggests, it replaces the standard renderer of Quake 2, with a Vulkan based path tracer. Christoph Schied created the mod in his spare time, yet it became the best showcase of what ray tracing is potentially capable of in games.

Q2VKPT showed that it is entirely possible to render 3D geometry, lights, shadows and moving enteties with a playable framerate. At 60 FPS the performance of Q2VKPT is frankly stunning, considering what is going on behind the scenes.

Considering that ray tracing for games is in its infancy right now, it is remarkable that playable framerates and only few visual shortcomings are present. But then something else happened.

NVIDIAs Quake 2 RTX released
#

My video showcase on Quake 2 RTX

Quake 2 RTX became even more impressive than Q2VKPT. NVIDIA worked together with Christoph Schied and Bethesda to expand upon the work that was done on the original Quake 2 Vulkan renderer. As a result, we now have PBR, high resolution textures, global illumination, among other features in Quake 2 RTX now. My favourite feature by far, is the completely controllable sun. With that it is easy to test out the god rays and global illumination settings in real time. The textures, sun and skybox colour the environments realistically, and shadows behave naturally like they would in real life. Light also mixes smoothly, which results in believable lighting conditions. A ray tracer like this would drastically cut down development costs, since realistic lighting, HDR and reflections are all done on the fly and wouldn’t need to be faked.

When the hardware capabilites and software optimizations catch up to this technology, developers could have an easier time implementing various graphical features, in a shorter time span.

Lighting is important
#

Lighting showcase in Quake 2 RTX

Lighting test in Quake 2 RTX using flares

If there is one thing to take away from Quake 2 RTX, it is that lighting is very important. Just like in cinematography, lighting can improve or worsen the looks and aesthetic of any given game. Quake 2 RTX is still based on a very old game. This version of the game might have bloom, HDR and normal maps, but the level geometry is still rather simple. Characters still look a little abstract. Animations are a still a bit dated. However, when you take a look at the new lighting that was implemented in Quake 2, it isn’t easy to think that this game is 20 years old by now.

But future level designers, please look out! Ray tracing will not fix bad level design!

With global illumination, lightsources emitting lights naturally and better dynamic shadows, there still is a lot of room for messing things up, especially when it comes to path traced lights and shadows.

Real time rendering… Not only good for games!
#

A real time ray tracing demo rendered in the Unreal Engine

The film industry can benefit from real time rendering as well. With NVIDIAs graphics cards, 3D animations could be played in real time, giving the animators and producers of those animations more breathing room by cutting out the lengthy rendering times. In addition to that: with this technology a real time rendered and pre- rendered scene could be almost indestinguishable.

A hollywood movie most likely will stick to pre – rendered scenes, but this technology is especially appealing for smaller TV productions, that need to churn out an animation in a specific time window.

I am excited for what the future of real time ray tracing has on offer for us. RTX is open source, so we can hope to see our favourite games with this technology one day. New games with ray tracing might implement the technology in a new and interesting way and our favourite TV series will get done faster due to less time being wasted on rendering episodes for days on end.

Now all we can do is wait, but considering how fast technology evolves nowadays, I doubt that we will be waiting for a long time.

Thank you for reading this article.

Related

Valve doesn't care about their games or quality
·2169 words·11 mins· loading · loading
Cheecken