Apple proposes GPU API for 3D graphics on the web
- 09 February, 2017 22:00
Apple is promoting the development of a standard API that would allow web browsers to access GPU features for 3D graphics.
The team behind Apple's WebKit browser engine proposed a community group at the W3C (World Wide Web Consortium) called the W3C Community Group for GPU on the Web that would be charged with providing an interface between the web browser and modern 3D graphics and computation capabilities in native system platforms.
"The goal is to design a new web API that exposes these modern technologies in a performant, powerful, and safe manner," the community group proposal states. "It should work with existing platform APIs, such as Direct3D 12 from Microsoft, Metal from Apple, and Vulkan from the Khronos Group." Beyond generic computational capabilities being exposed in existing GPUs via the API, Apple also wants to investigate shader languages to produce a cross-platform solution.
Browser engine developers, GPU hardware vendors, 3D software engineers, and anybody else interested in 3D graphics are invited to participate. As part of the launch of this effort, Apple is sharing its WebGPU API proposal. It will also be releasing a prototype of the API to the WebKit open source project.
The WebKit team anticipated a next-generation graphics API several years ago and began prototyping in WebKit to show it could expose a low-level GPU API to the Web and still improve performance. Apple's effort so far is not expected to become the actual API in the standard.
W3C released a statement in support of the effort. Google and Microsoft did not comment Wednesday on whether they might participate in Apple's effort. Mozilla said Apple's proposal would be useful in the design process, but it was far too early to say more.
The current standard for rendering graphics on the web is WebGL. However, since WebGL was created, both GPU technology and software APIs for tapping the power of these processors have improved. These newer APIs -- such as Direct3D, Metal, and Vulkan -- generally offer better performance than WebGL, but they are not available across all platforms. Apple's proposal attempts to remedy this by creating a standard API that can be implemented on top of many systems.