Raytracing was merged into Dev-Rendering!

Unreal Engine uses the official public Microsoft DirectX12 ray tracing API, also known as DXR: https://blogs.msdn.microsoft.com/dir…ctx-raytracing.

RTX is a marketing name used by NVIDIA for their Turing architecture GPUs. It is not an API or a specification as such, therefore applications can’t “use RTX API directly”. They must go through either some version of DirectX12 RayTracing or through VK_NV_ray_tracing extension when using Vulkan. Perhaps latest NVIDIA OptiX can also use hardware acceleration these days, but I’m not sure, as it’s not directly applicable to games.

The only officially-supported GPUs for DXR and VK_NV_ray_tracing on the market today are NVIDIA Turing-based models (aka RTX 20-series) and some Volta-based models (TITAN-V).

In any case, applications must ask the drivers at run-time if ray tracing is supported by the current OS, driver and hardware before using any ray tracing functionality. Trying to use the extensions when driver does not report the support will most likely result in a crash.

DXR is a Microsoft specification, which indeed can be implemented by *any hardware vendor *that wishes to do so (just like any other optional part of D3D12). It is indeed also possible to implement DXR in software. This was done by Microsoft during early DXR development: https://github.com/Microsoft/DirectX…racingFallback. The fallback layer is not 100% compatible with DXR (it’s not a transparent drop-in replacement) and performance is not attractive for any kind of practical applications. Its purpose was to allow early development of ray tracing applications. It has been discontinued since the release of the official DXR-capable drivers and hardware. Unreal Engine does not support the fallback layer and is unlikely to support in the future unless it can be done completely transparently (without special paths in the rendering code).