Quake 2 logo

Quake 2 looks absolutely stunning – and noisy as hell – with real-time GPU pathtracing renderer

Path tracing and ray tracing are two renderers that we strongly believe will benefit video-games in one or two decades. Yeah, we are talking about something that some people may never experience, however real-time pathtracing is capable of producing incredible reflections, shadows, and global illumination effects. And gamers can get an idea of what pathtracing is all about as Edd Biddulph has been working on a GPU pathtracer for Quake 2.

The downside of pathtracing is that it produces a lot of noise (at least for now). This occurs when a pixel isn’t sampled enough times to account for every possible light path that might affect it. The only way to reduce the noise side effect is by calculating more samples, and that has a pretty big impact on overall performance, especially since we’re talking about real-time rendering here.

Now I’m pretty sure that a lot will question this. Surely modern-day GPUs can handle something like that, right? Well actually no. The following pathtracing tech demo for Quake 2, a game that was released in 1997, stresses a modern-day GPU like the NVIDIA GeForce Titan XP. So yeah, don’t expect to see full raytracing renderers in the near future, let alone raytracing renderers that are not plagued by noise issues.

Still, this will give you an idea of what video-games will look like in the distant future. And to be honest, even Quake 2 looks stunning with this real-time pathtracing solution.

What’s also really cool here is that Edd Biddulph has made the source code of this GPU pathtracer available to everyone on GitHub. This means that you can download it, compile it, and test Quake 2 with it. For those not interested in such a thing, Edd has shared the following video showing this GPU pathtracer in action.

Enjoy!

Quake 2 Realtime GPU Pathtracing: August 2017

16 thoughts on “Quake 2 looks absolutely stunning – and noisy as hell – with real-time GPU pathtracing renderer”

  1. No, it doesn’t look stunning. Lighting isn’t everything. 🙂 That said, the fact that those graphics are pathtraced is exciting.

    1. Well, the lighting itself looks awesome. No shadow maps or anything. Just light and shadow as it works in real life.

    1. That would be the most demanding indie game ever. But such reflections and shadows could be achieved by different means and look similar while being way less taxing.

      1. Shadows can get close and still run okay. Reflections? With screen-space reflections you don’t get that far. They work okay for specific scenarios like flat or nearly flat, wet surfaces but there’s no solution to the problem of only in-view objects being reflected, and even their “backfaces” missing. There’s no solution to the player simply looking down at the water which is THE make or break test for reflections, really. That’s what you want to see, your own reflection. Never going to happen with pure screen-space methods.

        Guerrilla and id are already using path tracing or something similar for reflections. Not sure if DICE and Crytek have caught up yet but that’s where things are headed. Using partial tracing while generally relying on the standard techniques established over decades. Full tracing is probably never going to happen since it will never be worth the performance cost.

  2. Hats off to the guy who wrote this path tracer but we already have path tracers that are way faster.

    BRIGADE Engine is much faster and can handle scenes that are far more complex.

    I wonder what kind of performance we would get if we could run Quake 2 in Brigade instead…

    1. Can you be sure that this implementation can’t handle complex scenes? I would assume the creator chose Quake 2 because of the open and well-known nature of its engine, not to cut corners on “complexity”. Tracing isn’t know for having any problems with polycount.

      Of course, I agree that Brigade looks more impressive.

      1. I’m just going by the framerate. If he’s running this on a TitanXP that is an awful lot of stuttering for such a simple game.

        Brigade on the other hand uses a more real-time version of Octane renderer (also by OTOY) which I’ve run IN MY BROWSER at 30 fps.

  3. The uploader made the mistake of rendering the video in 720p and with a bad codec that turns to complete mush on many occasions. Youtube offers more bandwidth for higher resolutions and youtube can’t tell if you’re original source file was 720p. So the way to go with youtube is to always upload high res, at least 1080p, just to get more bandwidth. It’s silly but that’s youtube.

  4. @ tech guys,
    Would it b e possible to build a dedicated chip that would only do raytracing/pathtracing, instead of programming it on a gpu ?

    I always asked myself, the ps4 has some costom chips, that are used to compress/decompress data, as well as recording video.
    Why not build a custom chip, which unique task would be applying a huge msaa8/16/xx, or any other AA processing, to the full frame, right before it gets sent to the hdmi port…
    Because often, specially last gen, devs would use most cpu/gpu power on regular tasks, and at the end, they would only have a few ‘cpu cycles’ left, to apply some cheapass fxaa 2x AA.
    Because you can have amazing textures and resolution, but without a good AA processing, the game will look like sh*t.
    Could such chip be made, and used on a console, like the ps5, or even inside an amd/nvidia futur graphic card ?

Leave a Reply

Your email address will not be published. Required fields are marked *