Quake 2 Real-Time Path Tracing

Q2VKPT is the first playable game that is entirely ray traced and simulates fully dynamic lighting in real-time. It’s uses the Vulkan API to take advantage of the new hardware-accelerated ray tracing features made available earlier this year. If we’re being honest, it’s performing a lot better than expected. Our RTX 2060 with its anemic 5 giga-rays of real-time ray tracing manages to maintain 45 to 55 FPS @ 1080p.

While it’s not the prettiest thing in the world what Q2VKPT is managing to pull off is nothing short of mental. Unlike some games (Battlefield V) that have dabbled with shadow and reflection rendering it’s the first to handle direct, scattered, and reflected light transport in realtime.

For those of you wanting to play the home game the below guide should at the very least get you pointed in the right direction.

1. This should get everything needed to compile Q2VKPT on Ubuntu 18.04.1 or above.

sudo apt install glslang-dev glslang-tools glslang-tools-dbgsym shaderc libvulkan1 libvulkan-dev libc6-dev libx11-dev libsdl1.2-dev libopenal-dev libpng-dev libjpeg8-dev zlib1g-dev mesa-common-dev liblircclient-dev libcurl4-gnutls-dev make gcc g++ mesa-common-dev libglu1-mesa-dev libxxf86dga-dev libxxf86vm-dev libasound2-dev libx11-dev libxcb1-dev libsdl2-dev git

Note: The version of SDL2 shipped with Ubuntu 18.04.1 does not include support for Vulkan. You will need to build it yourself, or track down a PPA.


2. Install the latest LunarG VulkanSDK Packages. For Ubuntu 18.04.1 you can do the following.

wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -

sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.1.97-bionic.list http://packages.lunarg.com/vulkan/1.1.97/lunarg-vulkan-1.1.97-bionic.list

sudo apt update

3. Clone the repo and remember to rename config_vkptto .configbefore compiling.

git clone https://github.com/cschied/q2vkpt.git

4. Consult the in the INSTALL file for setting up the baseq2 directory and copying the required files.


Leave Your Reply