Introducing the ANGLE Project
Thursday, March 18, 2010
Labels: webgl
We're happy to announce a new open source project called Almost Native Graphics Layer Engine, or ANGLE for short. The goal of ANGLE is to layer WebGL's subset of the OpenGL ES 2.0 API over DirectX 9.0c API calls. We're open-sourcing ANGLE under the BSD license as an early work-in-progress, but when complete, it will enable browsers like Google Chrome to run WebGL content on Windows computers without having to rely on OpenGL drivers.
Current browser implementations of WebGL need to be able to issue graphics commands to desktop OpenGL to render content. This requirement isn't a problem on computers running OS X or Linux, where OpenGL is the primary 3D API and therefore enjoys solid support. On Windows, however, most graphics-intensive apps use Microsoft Direct3D APIs instead of OpenGL, so OpenGL drivers are not always available. Unfortunately, this situation means that even if they have powerful graphics hardware, many Windows machines can't render WebGL content because they don't have the necessary OpenGL drivers installed. ANGLE will allow Windows users to run WebGL content without having to find and install new drivers for their system.
Because ANGLE aims to implement most of the OpenGL ES 2.0 API, the project may also be useful for developers who are working on applications for mobile and embedded devices. ANGLE should make it simpler to prototype these applications on Windows, and also gives developers new options for deploying production versions of their code to the desktop.
We hope that other WebGL implementors and others in the graphics community will join us to make ANGLE successful! For more info on ANGLE and to access the code repository, visit the new project on Google Code or join our discussion group.

17 comments:
ssokolow said...
While I see the value in separating WebGL from OpenGL to make it accessible to as many users as possible, I can't help but be saddened by this indirect support in Microsoft's campaign to squash OpenGL as a portable 3D API.
So far, the best statement of my viewpoint that I've found is probably http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX
March 18, 2010 10:46 AM
FireBurn said...
This sounds like a reverse Wine project, mapping OpenGL ES to DirectX rather than DirectX to Wine
It might be worth looking at the code base to see if anything can be reused
March 18, 2010 10:49 AM
Chris Brady said...
ChrisBrady@altrichmond.ca
A similiar project has already been developed and is available. In 1998 my company ALT drivers developed as part of MESA, an OpenGL to DirectX translator. In 2004 we updated it under contract to the Microsoft Vista (Longhorn) team. In 2008 www.AltRichmond.ca acquired a competitive code base from SciTech Software.
We have the software experience, is Google interested in it ??
ChrisBrady@altrichmond.ca
March 18, 2010 11:06 AM
pkasting said...
@ssokolow: Your comment seems exactly backward. If various Windows machines can't display OpenGL content, that's a disencentive to use OpenGL. By contrast, if this project allows more machines to display OpenGL content, OpenGL comes closer to being a true "portable 3D API".
So it seems you should be happy rather than sad.
March 18, 2010 11:27 AM
ssokolow said...
@pkasting Hmm. You have a point... especially in concert with FireBurn's "reverse Wine" description.
I really need to get out of the habit of checking my e-mail and feeds immediately after rolling out of bed. It leads to thinking before my brain has fully booted up.
March 18, 2010 11:29 AM
Giles said...
This project is a fantastic idea. It looks like a lot of people are trying out WebGL and getting disappointed, and even giving up, because their graphics drivers can't support it -- people with laptops with Intel graphics chipsets in particular. My last laptop could play World of Warcraft (which presumably uses DirectX) with reasonable settings, but couldn't spin a textured WebGL cube with a halfway decent framerate, and while as a WebGL fan I took the time to understand why, it's obvious that someone who hadn't already bought in to WebGL might have shrugged and given up on the technology.
So, many many thanks and three cheers to the ANGLE team for building a library that will allow 3D developers to use an open API to program for people with any GPU hardware, regardless of the vendor's interest in building decent drivers.
March 18, 2010 5:47 PM
Juan Linietsky said...
DirectX9 lacks some features of OpenGL 2.0, and the other way around is true, too. Will not be very useful for complex 3D games because of this, so i wonder..
March 18, 2010 8:40 PM
shunyuan said...
This is an unnecessary move. I don't see what is the problem to use OpenGL under Windows XP or Windows 7.
But it might be useful for mobile device though.
March 18, 2010 11:53 PM
Jay Peek said...
This is alluring for applications that offer 3 skins (color) layering for touch (or other) screens. Mobile is the 1st thought when considering an ubiquitous and possibly profitable peopleware idea.
March 19, 2010 11:47 AM
Thierry said...
It's what java3d API is doing on the java side : Same code for 2 targets :
- OpenGl
- DirectX
It is a good idea.
March 19, 2010 3:50 PM
saLOUt said...
Why not require installed opengl driver on windows OS and let ati and nvidia do the work? If a opengl installation speeds up your experience, opengl would be pushed to a standard program on windows like i.e. java.
March 20, 2010 4:43 PM
Fernando said...
saLOUt, you need to know that Microsoft don't like OpenGl and years ago it worked with vendors to switch to its DirectX.
March 21, 2010 4:40 PM
saLOUt said...
Microsoft also don't like alternative browser and now it has to integrate a browser switcher due to conditions of the european union...
March 22, 2010 12:08 AM
Bundyo said...
OpenGL ES 2.0 ≠ OpenGL 2.0
March 23, 2010 5:58 AM
Magnus said...
I will say only mesa they have already a wraper from opengl to directx, last time I use it, it was for opengl 1.x
March 26, 2010 7:18 AM
Warren said...
This is total Bullsh*t! Same with that other traitor who is making OSS ports to Windows. When are we (Linux community) gonna get support for software? When am I going to be able to run all the latest software on my Linux build? Probably only if the developers wrote for it nativly only. We don't get any quick fixes or our hands held. Why do people coddle and pamper Windows users? This sorta sh*t really pisses me off! There is a special place in hell for anyone that writes one line of code for this abomination of a project!
April 26, 2010 12:45 PM
ozan said...
I liked it. So much useful material. I read with great interest.
cymplus
September 22, 2010 7:11 AM
Post a Comment