Google has provided a way to run WebGL on Windows based machines by converting the graphics calls to DirectX9 Microsoft's own 3D technology, and now ANGLE has reached version 1.0 and passed the OpenGL tests.
If you have been following the small difficulty that has been evolving over last few months concerning WebGL and the lack of Microsoft support in IE, then you might be surprised to know that there is an even bigger problem. OpenGL ES, which is what WebGL is based on, needs to make use of an OpenGL 2.0 driver and such drivers are not always available on a Windows based machine. What this means is that even the browsers that do support WebGL don't always work under Windows. In a wider context it also means that OpenGL ES applications also have problems running under Windows. This probably suits Microsoft because it would rather you wrote DirectX applications instead.
Some time ago Google started work on Almost Native Graphics Layer Engine (ANGLE). This intercepts OpenGL ES 2.0 API calls and maps them to DirectX 9 calls. This means that it is possible to run OpenGL ES/WebGL applications on a Windows machine without having to put the user to the trouble of finding and installing new OpenGL drivers.
The latest news is that ANGLE Version 1.0 has now passed the OpenGL ES 2.0 test suite. Much of the improvement is down to a collaboration of TransGaming with Google.
ANGLE is already in use in Chrome and in Firefox as a way of displaying WebGL 3D graphics on Windows machines - of course Linux and Mac OSX, iOS and Android already have good native OpenGL support.
If you plan to create an OpenGL ES application then all you have to do to make it work under Windows without asking the user to find a suitable driver is to download the source for ANGLE, include the DirectX SDK as an include and build the project. To add the compiled ANGLE to your project all you have to do is add the compiled ANGLE libraries and to the standard OpenGL header files. Following this you can use the OpenGL ES API and it should work under Windows as long as there is a DirectX 9 compatible graphics card and driver installed which covers most modern systems. The only complication is that you can to use the supplied translation object to convert a OpenGL shader into a DirectX shader but this is a fairly easy change.
You can see why Google need ANGLE if they are to make Chrome's WebGL work under Windows but by making it open source they have also made it possible for everyone to use WebGL/OpenGL ES under Windows. Now if only Microsoft can be persuaded to use it to support WebGL in Internet Explorer then things would be looking good but as it is we still have to put - only works in Chrome, Firefox and Opera notices on all our WebGL applications.
Microsoft Drops VML and Filters in IE10
Google MapsGL for a deeper experience
Getting started with WebGL
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter or Facebook or sign up for our weekly newsletter.