Webinar Recap: WebGL 2.0, What You Need to Know

Khronos hosted a WebGL 2.0 webinar on April 11, 2017. We covered the new features in WebGL 2.0, and even saw a few demos.

Khronos blog: Webinar recap WebGL 2.0

WebGL 1.0 was released in 2011, introducing plugin-free 3D rendering to the Web for the first time. Since then it’s been widely used for all kinds of web-based 3D applications both on the desktop and iOS and Android phones — especially for web gaming. WebGL is integrated into all the major browsers, including Chrome, Microsoft Internet Explorer and Edge, Safari, and Firefox. “WebGL just works for everyone.” WebGL is available on 92 percent of browsers globally, and 96 percent of browsers in the U.S. - enabling truly write once, run everywhere 3D applications.

WebGL 2.0 is the first major update to WebGL and brings fast, full OpenGL ES 3.0-class 3D rendering functionality to browsers – shrinking the 3D capability gap between Web and native platforms. The webinar presented the new features in WebGL 2.0 and touched on the possibilities for optimizations and new techniques such as deferred shading, accelerated particle simulations, and volumetric rendering.

Here are five key points from the webinar:

  1. WebGL 2.0 availability. WebGL 1.0 is widely implemented, and WebGL 2.0 is already available in Chrome and Firefox production browsers since January, and upcoming in Edge and Safari. Desktop support for WebGL 2.0 was already at 58 percent at the time the webinar was presented.
  2. New Texture Capabilities. WebGL 2.0 exposes new features for handling textures, including floating-point and unsigned/signed integer textures. WebGL 2.0 also features immutable textures, which provides improved performance as the dimensions/format/type of the texture is guaranteed not to change after initialization, and which saves CPU memory in some implementations.
  3. Instanced draw calls. Instanced drawing can significantly improve application performance by reducing the number of draw calls for many applications. For example, drawing 1,000 identical objects used to require to rerun all the draw calls, specifying position, uniforms, and other features such as character pose data for each instance; WebGL 2.0 cuts this down by requiring only 1 draw call for each instance - significantly reducing JavaScript and draw call overhead.
  4. Native multiple render target support. Multiple render targets are now available within core WebGL 2.0, not requiring the extension needed in 1.0. This allows rendering to multiple framebuffers while processing an entire scene once, enabling efficient shading with intermediate textures – another performance gain.
  5. Transform feedback. The new transform feedback feature allows you to save the vertex shader output directly into a vertex buffer object. For example, a simulation can be stepped and rendered in a single draw call, and skinning computations for instanced character rendering can be cached on the GPU side without requiring copy-back to the CPU, for huge performance improvements.

The webinar showed demos of the new multiple render target, texture, draw call and other features. You can watch a video of the full webinar and download a PDF of the presentation on the webinar page. For more about WebGL, visit the Khronos WebGL page.  Stay tuned for upcoming webinars and other events.

Next entry: Webinar Recap: Vulkan Loader Deep Dive

Previous entry: Vulkan Runtime and Loader Security on Windows OS