NVIDIA just released the KickstartRT SDK as an easier way to add raytracing functionality to your game engine or game without having to make extensive changes. It is a cross platform open source API that brings real-time ray-traced reflections, shadows, ambient occlusion and global illumination to game engines, without requiring you to rework your materials or shaders. It could be an ideal path to adding raytracing features to games already in production due to the minimal impact.
This SDK aims to achieve higher quality reflection and GI rendering than traditional screen space techniques, using hardware ray-tracing functionality without having to set up shaders and shader resources for ray-tracing.
When implementing ray-tracing into an existing game engine, one of the biggest problems is preparing the shaders for reflection and GI rays. All of the countless shaders that exist in a game scene must be listed and configured. We also need to make sure that the various shader resources (ConstantBuffer, Texture, etc.) can be accessed correctly from those shaders for each material. This can be a very complex task.
Instead of setting up all the shaders, this SDK takes the lighting information from a rendered G-Buffer and stores it in a world space cache. Therefore, the application does not need to modify any shaders for ray-tracing. Internally, the SDK creates reflection and GI information by sampling the lighting information using ray-tracing. This is the biggest difference from screen space based techniques as lighting information for off-screen objects will also be sampled if it is stored in the SDK.
KICKSTART RT is a cross platform (Windows, Linux), cross framework (DX11, DX12, Vulkan) and open source under the MIT open source license.
You can learn more about NVIDIA KICKSTART RT and see the demo in action in the video below.