How does it work?
Our solution works by ray-tracing the frusta of all players simultaneously on the server with every tick.
SauRay's specially crafted algorithm makes careful use of a limited ray budget to solve an extremely challenging dynamic visibility problem for all virtual frusta at low resolution.
It requires hardware ray-tracing capable GPUs on the game server and can be extended to do software ray-tracing if necessary (i.e. if the workload is not triangle and/or BVH based).
Our patent application
can be found here.
We have made our technical brief
publicly available as well.
The complete source code is available on GitHub
under a commercial license.
How does this compare with previous attempts?
We've considered a vast array of prior art while researching and building this solution.
Efforts such as early iterations of Valorant's Fog of War are crude and suffer from a high amount of false negatives. We are certain that one cannot approach this problem error free in a computationally cheap manner.
Their later efforts much like Quake II's PVS system are easily taken advantage of by cheaters.
Why raytracing in particular?
Primary visibility rendering alone achievable by other means is not sufficient for proper visibility determination for most games today.
Most modern games at least use orthographic and/or perspective shadow maps to render shadows. Accounting for that in our algorithm is casting one secondary ray towards the light source.
If games choose voxel-based AO or RTAO for ambient occlusion, we can account for that via a diffuse secondary ray.
Many revamps such as Fortnite RTX have raytraced reflective surfaces. For our approach that's simply a glossy secondary ray.
Repeating our glossy secondary rays back to back allows us to account for hall-of-mirror effects in the likes of Minecraft RTX.
Broadly speaking, the path-tracing
section of our patent is designed explicitly to account for the aforementioned scenarios.
What is the additional cost of GPU incorporation? How well does it run?
We answer those questions and many more in our Game Connection Europe 2022 slides found here
for the PowerPoint slides which have notes.
What is it built on?
It is built on the Vulkan
rendering API using the cross-vendor VK_KHR_raytracing extension.
Do you support AMD and Intel hardware?
Yes, though we recommend Ampere-capable servers from nVidia
at this point.