Vulkan now offers ray tracing support in Open API

Vulkan now offers ray tracing support

Vulkan now offers ray tracing support. Khronos has published the final specifications of Vulkan Ray Tracing, the development framework that enables the acceleration of ray tracing functions in this open-source standard for video game and 3D application development.

Ray tracing is a representation technique that realistically simulates how light rays intersect and interact with the geometry of scenes, materials, and light sources to generate photorealistic images. It is widely used to render movies and other video productions also it is used in video games and it is beginning to be used in other types of applications as well.

Until now, this type of ray-acceleration function was limited to dedicated NVIDIA RTX graphics and DirectX 12 Ultimate libraries. The arrival of Vulkan Ray Tracing can open its use to other types of hardware, by any developer and for any software that makes use of 3D images.

It should be remembered that Vulkan is a set of open-source libraries that provide low-level access allowing programmers to maximize hardware performance. An open, free, multi-platform API that has been continuously improved over the past few years and has become the only alternative to Microsoft’s DirectX.

Vulkan now offers ray tracing support

Khronos has published the final specifications of the set of specifications that will enable hardware acceleration of lightning trace. This is important because it is the first open standard that allows this type of function.

Vulkan Ray Tracing integrates a consistent ray tracing framework into the Vulkan API, allowing for the flexible merging of rasterization and ray tracing acceleration. Vulkan ray tracing is designed to be hardware independent and therefore can be accelerated on both existing GPU computing and dedicated ray tracing cores, if available.

The overall architecture of these libraries will be familiar to users of existing ray tracing APIs, allowing direct portability of existing ray tracing content, but this framework also introduces new functionality and flexibility in implementation.

Vulkan Ray Tracing consists of a series of Vulkan, SPIR-V, and GLSL extensions, some of which are optional. The primary extension VK_KHR_ray_tracing provides support for the construction and management of acceleration structures, ray tracing stages and shading pipes, and intrinsic querying for all shader stages.

Another important extension is VK_KHR_pipeline_library, providing a set of shaders that can be efficiently linked into ray tracing pipes, while VK_KHR_deferred_host_operations allows intensive controller operations, including ray tracing compilation or CPU-based acceleration structure construction, to be downloaded to the thread groups managed by the application.

All these functions are already defined in the final version of the specifications, although their implementation process is not automatic and has to be defined by each developer for each game or application. Vulkan can take advantage of a wide variety of hardware. Theoretically, any GPU could run Vulkan RT using existing “GPU computing” cores, although the performance will probably not be the maximum possible.

The great news is that Vulkan is consolidated as a great alternative to Microsoft’s monopoly with DirectX and in all types of functions, including ray tracing which has become one of the reference representation techniques. Khronos has a large number of manufacturers that support them (AMD, Intel, NVIDIA, Qualcomm, Imagination, ARM…) and graphic engine providers such as iDTech, Unreal, Unity, Frostbite or CryEngine. It will not be difficult to see Vulkan Ray Tracing in great games soon.