Apple proposes new API to take internet 3D graphics beyond OpenGL

In an effort to use the latest generation of disparate 3D graphics APIs for use within web browsers, Apple has proposed that work start on a WebGPU API to unite them all.

With the rise of disparate, less abstracted, lighter interfaces for 3D graphics in recent years, Apple has proposed the creation of a new API that would allow web developers to take advantage of the improvements found in Vulkan and Apple's own Metal API.

Writing on the WebKit blog, Apple's Dean Jackson explained that although web developers can use the OpenGL ES 2.0-backed WebGL to create 3D graphics in Canvas elements within web pages today, Vulkan and Metal do not use OpenGL or exist on the same platforms, and thus a new API is needed.

"The success of the web platform requires defining a common standard that allows for multiple implementations, but here we have several graphics APIs that have nuanced architectural differences," Jackson wrote. "In order to expose a modern, low-level technology that can accelerate graphics and computation, we need to design an API that can be implemented on top of many systems, including those mentioned above.

"With a broader landscape of graphics technologies, following one specific API like OpenGL is no longer possible."

The new API should be able to expose the general-purpose computational power found in GPUs, Jackson said, while still being able to be safely exposed to the internet.

Apple has not proposed a standard, but rather a conversation starter by providing a "WebGPU" prototype based on its Metal Shading Language.

Cupertino has also proposed the creation of a W3C Community Group dubbed "GPU on the Web" that would work towards any standards in the WebGPU space.

"Our proposal has been received positively by our colleagues at other browser engines, GPU vendors, and framework developers," Jackson said. "With support from the industry, we invite all with an interest or expertise in this area to join the community group."