Short Bytes: Web graphics have come a long way from the time images were the only graphics on mostly static pages, to WebGL’s powerful animation, GPU and gaming capabilities, all powered by canvas HTML element’s 2D and 3D contexts. Now Webkit browser engine has proposed a new low level web graphics API standard to leverage the computing powers and hardware acceleration that latest GPU systems provide.
Most of the desktop games started leveraging GPUs to enhance 3D performance. So, demand for performant 3D graphics in the browsers arose. That led to Mozilla and Opera showcasing some initial experiments that exposed a 3D rendering context from the canvas HTML element. They were so fascinating that the community decided to gather to standardize something that every browser could implement.
All browsers collaborated to create WebGL, the standard for rendering 3D graphics on the web. It was based on OpenGL ES, a cross-platform API for graphics targeted at embedded systems. This was perhaps one of the smoothest standardization processes in the history of the web because luckily all the browsers were running on systems that had support for OpenGL.
WebGL has unleashed the power of graphics processors to developers on an open web platform, and all major browsers support it, allowing console quality games to be built for the web and communities like three.js library to thrive. Since then WebGL has evolved to WebGL 2, and all major browser engines are committed to supporting it.
Since some time, there have been low-level graphic APIs like Direct3D from Microsoft and Metal from Apple which have leveraged improved GPU technology. Their APIs have been created to better reflect designs of modern GPUs and are built on a very lower level abstraction. Due to their reduced overhead, they generally offer better performance than OpenGL. Unfortunately, as you might have guessed, they are not cross platform.
In order to make Web Graphics to leverage new and diverse GPU computing technologies, Webkit has recently proposed a standard API which would expose a modern, low-level technology that can accelerate graphics and computation. The new API would also be compatible with emerging web standards like WebAssembly and WebVR. Also, GPU for the Web Community Group has been opened to membership to progress the development openly and by the best people in the industry.