Q2VKPT implements path tracing in Quake 2
Q2VKPT is a project by Christoph Schied - Ph.D. Student at Karlsruhe Institute of Technology - implementing a path tracer into the publicly available source code of the Quake 2 client Q2PRO.
Path tracing is a technique for simulating light transport from the light source(s) through the scene to the camera that is also used in the movie industry for rendering realistically looking images. For achieving high frame rates Schied facilitates the ray tracing capability of the latest gpus and a state-of-the-art filter that reuses information from previous frames and neighbouring pixels to reduce noise when only few rays can be cast per pixel. An interactive comparison of the raw path traced image and the filtered one is available on the project website.
While current AAA games use ray tracing only for some effects, Q2VKPT is rendered entirely using ray tracing as a proof-of-concept.
This project is meant to serve as a proof-of-concept for computer graphics research and the game industry alike, and to give enthusiasts a glimpse into the potential future of game graphics. (http://brechpunkt.de/q2vkpt/#main)
Many effects like soft shadows, reflections in the water, or many light sources illuminating the scene can be approximated in a rasterization pipeline through several render passes and deferred shading, this requires a lot of effort of programmers as well as artists to hide potential artefacts, though. Using path tracing the original scenes created by the artists can be used and lighting looks as intended without e.g. precomputing light-maps.
In this screenshot we can for example see the explosion mirrored in the water, illuminating the ceiling, and illuminating the walls as well as soft shadows.
For more information check the project website: http://brechpunkt.de/q2vkpt/
The source code as well as binaries are available on GitHub: https://github.com/cschied/q2vkpt/
In case you don't have a recent enough graphics card, there is also a demo video on YouTube:
(source: images and information from http://brechpunkt.de/q2vkpt/)