Real Time Ray Tracing in Quake 2 in 2017, or How Far We’ve Actually Come in a Year


NVIDIA’s real time ray tracing hype has been taking a beating for its low performance when compared to traditional render methods – namely rasterization, which is what is used in current games. To fully appreciate just how amazing the technology really is, let’s take a look at real time ray tracing from last year. The game is 20 years old and the card was the prime of its time – Quake 2 on a Titan Xp.

Edd Biddulph wrote a ray tracing engine which renders the game using ray tracing, although the frame rates achieved make it hard to call “real time” ray tracing. If you’re unsure what ray tracing is or how it works, have a look at this Technology Explained article.

“This video shows new features of my GPU path tracer built into Quake 2. All lighting is computed on-the-fly with the use of ray tracing. In comparison to previous videos which were playbacks of recorded game sessions, this video is composed of live sessions played by myself,” Biddulph told PCGamer.

In the video you will see a lot of noise (the flickering dots covering the scene), and the reason for that is there is a low number of rays being traced due to performance limitations (on the best graphics card available in the middle of 2017). The more rays you have, the clearer the final image will be – but the lower the performance as well. In addition to that, the demo was done at only 720p.

“Keep in mind this is a 20-year-old game being played on the current GPU king the Titan Xp. And even then it’s not consistently at 60 frames per second,” continues Biddulph.

At the 6:27 mark, Biddulph cranks up the number of rays (although still not enough for a completely sharp image) and the framerate absolutely tanks. Judging from the video it appears that at times it is well under 10 frames per second.

Biddulph reckoned it would be another fifteen to twenty years before we saw real time ray tracing making an appearance in games, which is what NVIDIA made possible a little more than a year later.

For those interested in trying it themselves, Biddulph has made the source code available on GitHub. For those interested in some of the more technical details, have a look here.