If Khronos has its way, we'll soon see even more cross-platform games that run on Vulkan, Apple's Metal, and Microsoft's DirectX 12.
The Khronos Group makes OpenGL and Vulkan, two cross-platform graphics application programming interfaces (APIs) that seek to run on every platform that might be of interest to gamers. Vulkan just recently received Intel’s support for the GPUs that are integrated in its latest Core processors, greatly expanding Vulkan’s compatibility with Windows machines.
However, Khronos has concluded that current cross-platform solutions aren’t sufficient to support every platform, including Apple’s, which currently utilizes that company’s Metal API and so hasn’t yet adopted Vulkan support. With that in mind, Khronos is creating a portable API that will run on top of Vulkan, Metal, and Microsoft DirectX 12.
Jon Peddie, president of Jon Peddie Research, described the reasons behind the Khronos decision to develop the new overlay:
“The golden age of application portability through OpenGL and OpenGL ES being available on all desktop and mobile systems is passing. Developers now want to tap into the enhanced performance of the new generation explicit APIs: Vulkan, DX12 and Metal. Every cross-platform developer, as well as WebGL, is facing the challenge of rendering portably and efficiently across systems using all three of these APIs.”
In other words, in spite of Vulkan’s official presence on all but Apple’s platform, things remain too fragmented. The solution, according to Khronos, is to develop a portable API that will allow developers to write a single application capable of running on any system. One possibility is that the new portability solution could serve as the foundation for the next-gen WebGL, providing web developers with greater flexibility and access to the fastest GPUs.
While Khronos wants to build a portable API that runs as efficiently as possible, it recognizes that the solution would need to deal somehow with different rendering APIs and shaders. It proposes creating a set of APIs that would leverage where Vulkan, Metal, and DirectX 12 intersect, and omitting those APIs that are the most specific to each and thus difficult to replicate in a portable API.
The project is still in its initial planning stages and Khronos is actively seeking input. If it’s successful with creating this standardized and portable API, then we could eventually see a greater influx of cross-platform games that let gamers remain on the platforms they love without compromise.