Doing WebGL Rendering on Windows with ANGLE

by Abel Avram on Mar 25, 2010 |

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


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

General Feedback
Marketing and all content copyright © 2006-2016 C4Media Inc. hosted at Contegix, the best ISP we've ever worked with.
Privacy policy

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.