Doing WebGL Rendering on Windows with ANGLE

| by Abel Avram Follow 9 Followers on Mar 25, 2010. Estimated reading time: 1 minute |

Google uses WebGL to natively render 3D graphics inside Chrome. The problem is that WebGL relies on OpenGL 2.0, and not all Windows systems have its drivers installed. The ANGLE (Almost Native Graphics Layer Engine) project is intended as a thin layer between WebGL and DirectX, enabling Chrome to do 3D on any Windows system.

WebGL (Web Graphics Library) is

a cross-platform, royalty-free web standard for a low-level 3D graphics API based on OpenGL ES 2.0, exposed through the HTML5 Canvas element as Document Object Model interfaces. Developers familiar with OpenGL ES 2.0 will recognize WebGL as a Shader-based API using GLSL, with constructs that are semantically similar to those of the underlying OpenGL ES 2.0 API. It stays very close to the OpenGL ES 2.0 specification, with some concessions made for what developers expect out of memory-managed languages such as JavaScript.

Practically, WebGL brings native 3D to the browsers and all major browser vendors – Apple, Google, Mozilla, and Opera - are members of the WebGL Working Group, a member of the Khronos Group, a non-profit technology consortium including, among many others, as promoters: AMD, Apple, ARM, Intel, Motorola, Nokia, NVIDIA, Sun, Texas Instruments, and as contributors: Creative, Dell, EA, Google, IBM, Opera, Mozilla and many other companies involved in the graphics industry.

WebGL is a graphic feature introduced in Gecko 1.9.3 and due to be released with Firefox 3.7. Khronos specifies that WebGL is supported on Mac OS X 10.6 in the WebKit nightly builds. Also, it is included in all Chromium builds and Chrome Development channel. WebGL is not available in Opera at this time, according to Khronos but it is supposed to be supported soon.

One of the problems is that the current implementation of WebGL is running on top of OpenGL 2.0, and its drivers are not always installed on Windows machines or do not exist for some graphics cards. This would make 3D rendering via WebGL impossible on such systems. This is the problem Google wants to solve with ANGLE, creating a thin layer between WebGL and DirectX, enabling Chrome to render 3D on Windows and not depending on OpenGL drivers.

ANGLE will also help developers prototyping on Windows but targeting mobile and embedded systems because OpenGL ES is specifically designed for such systems. ANGLE has been open sourced under the New BSD License.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you