YouTube’s ‘Matt’s Ramblings’ has shared a video, showing what the first Quake game could look like with a full path tracer renderer. Matt used Blender in order to implement full path tracing effects, and the results are quite stunning.
Matt basically exported the assets and scripts from Quake, imported them to Blender, and added a path tracer. You can find more details about this project here.
Do note that this path tracer does not work in real-time. As Matt noted, it took Blender a few seconds in order to render one frame. This obviously does not mean that developers cannot add a real-time full path tracer to this old game. As Matt explained:
- Q2RTX employs temporal filtering to smooth its images. This means that samples from earlier frames contribute to the current frame. Blender doesn’t yet fully support temporal filtering, so I had to render each frame independently.
- My system has to determine lights to sample on a per-frame basis. An RTX based system could decide lights to sample on a per-path basis. Only a direct (zero bounce) PVS calculation needs to be done for each surface point whose incoming light is being integrated. This would naturally lead to fewer lights being sampled per pixel. From my reading I can’t confirm this to be the case with Q2RTX, but it seems likely.
- Blender’s path-tracing renderer, Cycles, is very general in that it has to be able to cope with a wide variety of scene types — different complexities of geometry, different number of lights, and so on. In contrast, Q2RTX is a very specialized renderer and can thus be optimized for the specific task of rendering Quake levels.
To be honest, the shadows and the enemy models in some scenes reminded me of Tenebrae. Tenebrae was a graphics mod for Quake that added stencil shadows and per-pixel lighting. This mod came out after the release of Doom 3, and it was way ahead of its time. Similarly to GLQuake, Tenebrae gave us a look at what Quake could look like with modern-day real-time rendering techniques.
Lastly, the only downside here is that Matt used a timedemo to showcase this project. In my opinion, it would have been better to have slower motions. Nevertheless, and even in its current state, this video is really cool so be sure to watch it!