WebGL 2.0 has evolved into a powerful technology based on a very successful WebGL 1.0, which is now fully deployed in numerous professional CAD and 3D applications on the Web. This feature describes the history and why WebGL 2.0 is such an important standard.

WebGL 2.0 3D web graphics.

As a result of our activities, we deal daily with CAD and 3D applications that drive the AEC and manufacturing industry, but also the core technologies behind these applications. Few, if any, core technologies are as important today as WebGL.

Why WebGL is so important.

WebGL is important for several reasons. As a technology it is a “plugin-free” 3D graphics technology for the modern web browser. The Internet has a long history of attempts to create 3D graphics in browsers via plugins, but in general users are not very experienced in managing the plugin process and the process of installing plugins interferes with today’s business expectations. So no plugins.

WebGL 1.0 is currently heavily used and allows professional applications like Onshape and Frame to run in modern web browsers on many operating systems. It works well because it takes advantage of the openness of OpenGL, WebGL 2.0 will advance this standard and drive innovation in all types of professional 3D applications on the web.

WebGL is also based on OpenGL ES, a highly successful open industry standard for portable graphics that works for every major computer operating system. While there has been a massive explosion of 3D capabilities in hardware on devices of all types – from workstations to smartphones – the Web browser itself was not a major consideration for a 3D application goal for developers until the Khronos Group formed the WebGL working group and a set of development standards.

History of WebGL.

WebGL 1.0 was introduced in 2011, the year in which the Apple iPad began to attract a lot of interest in business sectors such as AEC. WebGL has established itself as a cross-platform, royalty-free web standard that brings high-quality 3D graphics with plug-ins into the web browser. It is by far the most widely used web graphics API on the market and is supported by all major browser vendors from Apple, Google, Microsoft and Mozilla.

The story of WebGL began in 2006 with Vladimir Vukicevic, then a senior engineer at Mozilla, who began experimenting with 3D concepts on the Web at a time when JavaScript was far from being as widespread as it is today. During his time at Mozilla, he started to create the prototype of the OpenGL 3D context in Canvas, and then he turned to the Khronos group to start a new workgroup for a web-centric OpenGL variant, later called WebGL.

Early WebGL supporters.

Early WebGL supporters included AMD, Apple, Microsoft, Mozilla, Google, Intel, Nvidia, Opera, and Qualcomm. This group helped redefine the standards for web graphics, which at the time were a mixture of proprietary technologies such as Adobe Flash and Unity’s 3D player. Such technologies required users to install something, typically a plugin. However, users’ interests fall behind each time they are asked to install a plugin, so WebGL should be automatic from the start and require nothing from end users to use.

The goal of the WebGL Working Group was simple: to bring 3D graphics to the web, in any browser, with no security issues for the end user, no plugin and high performance.

“We wanted to be successful in harnessing the power of visual expression for the large number of Web users,” said Ken Russell, software engineer, Google and WebGL Working Group Chair. Olli Etuaho, Systems Engineer, Nvidia, added: “The main principles were clear: to be robust, portable, stable and quite powerful in as many places as possible. Also, there will be no security issues for the end user.”

Overcoming barriers – the long road to a successful WebGL standard.

WebGL did not have immediate success, although the heavy-hitters listed were mainly behind the new standard. There were doubts about security, since the API can access data. To solve this, the working group developed WebGL in such a way that the graphics memory is always initialized before use, so that web pages cannot access data that they should not. There are also many other layers of security built in that provide WebGL industrial-strength security for developers and their end users.

Another challenge that WebGL had to overcome was to prove its performance in the marketplace. The working group ensured that all major browser developers are behind the new standard and that compliance tests can show that the WebGL code is portable across all browsers.

“People were suspicious of WebGL early on, even in 3D. Plugins have come and gone and had various problems, so people weren’t entirely convinced about WebGL,” said Jeff Gilbert, Senior Software Engineer, and WebGL Lead, Mozilla. “It took a lot of optimism in game development to go for WebGL.” Gilbert comments: “We will invest because we are convinced of WebGL. We really hope that WebGL will have a major presence in a few years.”

One advantage of WebGL was that it was an open standard that was freely available to the company. As an open source API, this meant that feedback from Github through issues and pull requests for conformance testing was important, and the community played a major role.

“Open participation was absolutely critical in the development of WebGL 2.0, especially with the conformance testing that went along with it, and knowing where we needed to invest our development time to ensure that it would be portable and provide end users with what they need,” Russell says. “It couldn’t have worked, at least not that well, in a closed forum.”

Setting a standard for cooperation.

WebGL sets a good standard for open collaboration in development projects. With so much work on shared tools like GitHub, it has made the process more efficient, with better use of resources and a significant reduction in duplicate work. For example, with a common code base that meets all requirements, everyone can pool their resources and focus on improvements.

Even after opening the source code to developers from around the world, WebGL has not broken new ground. WebGL brings together different providers of operating systems and hardware to achieve a common goal. When Web developers tried to execute their WebGL code identically on all devices, many corner cases in the underlying graphics APIs as well as graphics driver bugs were found. While no software is bug-free, WebGL promises that your graphics code is written once and works everywhere. The WebGL workgroup worked closely with all hardware vendors to report these bugs, fix them, and add conformance testing to ensure they stay fixed. This close collaboration with the community and GPU vendors has improved the overall quality of the graphics ecosystem. WebGL flows into its partners to create a win-win situation for everyone involved, as WebGL rests on the shoulders of these GPUs and drivers.

Milestones on the way to WebGL 2.0

There were many important milestones on the way to WebGL 2.0, with Google Maps becoming one of the biggest users. It was a serious step in testing the stability and longevity of WebGL.

While WebGL 1.0 was revolutionary in that it allowed accelerated 3D content on the web without plugins, it was still modeled after an older API, OpenGL ES 2.0, which had certain limitations. WebGL 2.0 was released in Chrome and Firefox in January 2017 and brings many new features of OpenGL ES 3.0.

The design of WebGL 2.0 began by consolidating some of the features that were available through WebGL 1.0 extensions, and then reduced some of the restrictions that had been imposed on WebGL to ensure that it would run reliably in as many environments as possible. The resulting WebGL 2.0 is a much more flexible API that enables advanced effects with more convenience.

Updating the architecture of the WebGL 2.0 functionality was the biggest single task, but the WebGL workgroup was not alone. All new OpenGL ES functionality had to be re-integrated into the old architecture and Intel’s GPU team helped with specification and testing. Nvidia also contributed to the specification, testing and implementation efforts. Every aspect of the API was updated in some way and every upgrade was thoroughly tested. The conformance testing alone took almost a year, but it was necessary to define a consistent behavior and API across a range of devices and browsers.

The Khronos Group ecosystem and the future of WebGL.

As mentioned several times on this website, WebGL is a core technology behind professional applications delivered through a SaaS model. Important new MCAD applications such as Onshape are completely SaaS-based CAD applications that work through your modern browser.

The importance of WebGL, which was further developed under the responsibility of Khronos Group, should not be underestimated. Khronos brought the browsers and GPU vendors together and the success of WebGL is the direct result of close cooperation between these communities. Khronos has a long tradition in bringing these two communities together under a proven IP framework, which is important from a legal point of view.

Low-Level Explicite API Directions.

With the new era of explicit, low-level graphics APIs like Vulkan, a natural interest for those behind WebGL aspects of it is shifting in that direction. The Khronos Group welcomes the industry’s discussion about the development of WebGL in this direction. The experience in WebGL development has shown that Web API experts, GPU vendors and native API experts are all needed at the table when it comes to developing such an API and Khronos is the only organization with a proven track record in bringing these experts together.

“Before WebGL, 3D was not really possible on the Web. Powerful 3D hardware was available everywhere on desktops and mobile phones, but the Internet was not able to use any of it,” says Vukicevic. “There were some plug-ins, but users had to perform an additional installation step, which was a major barrier to acceptance. All browser manufacturers knew that this was a challenge that needed to be solved, so we came together as the Khronos Working Group”.

The Khronos Group admits that WebGL 2.0 was a huge undertaking, but the efficiency, speed and resource improvements of WebGL 1.0 are very clear. WebGL 2.0 accelerates some rendering techniques, such as deferred shading, and enables new ones, such as state-based particle systems via transform feedback and volumetric rendering with 3D techniques. This improved efficiency leads to better quality and performance at a lower price, and improves battery consumption on mobile devices.

WebGL – A natural part of the web.

WebGL has become a natural part of the Web, reliably producing consistent 3D graphics across platforms and browsers. WebGL is now 97% enabled in Firefox browsers and is looking to increase this to 100%. The WebGL 2.0 implementation is expected in almost every browser, as with WebGL 1.0, along with the addition of important extensions that dramatically improve performance when writing WebGL applications.

WebGL 2.0 offers new features and with WebGL 1.0 as a solid foundation, WebGL is expected to continue to effectively and reliably deliver 3D graphics without plug-ins and with the highest level of security.

“Right from the start, my goal was to make WebGL possible in any browser,” says Vukicevic.

The major browser vendors Apple (Safari), Google (Chrome), Microsoft (Edge) and Mozilla (Firefox) are members of the WebGL Working Group. If you want to learn more about WebGL or access the specification, click here.

Thank you very much for your visit.