| ANGLE | |
|---|---|
| Developer | |
| Written in | C++ |
| Platform | Cross-platform |
| Type | Graphics engine |
| License | BSD 3-Clause License |
| Website | angleproject |
| Repository | |
ANGLE (Almost Native Graphics Layer Engine) is anopen source,cross-platformgraphics engineabstraction layer developed byGoogle.[1] ANGLE translatesOpenGL ES 2/3 calls to DirectX 9, 11, OpenGL, Vulkan or Metal API calls.[2][3][4][5] It is a portable version of OpenGL but with limitations ofOpenGL ES standard.[6][7]
The API is mainly designed to bring up a high-performanceOpenGL compatibility toMicrosoft Windows and toweb browsers such asChromium by translating OpenGL calls toDirect3D, which has much betterdriver support on Windows systems.[3][4][5] On Windows, there are two backend renderers for ANGLE: the oldest one uses Direct3D 9.0c, while the newer one uses Direct3D 11.[8]
ANGLE is currently used byGoogle Chrome (embedded into theBlink browser engine),Firefox,[9]Edge,WebKit, and theQt Framework.[10] The engine is also used byWindows 10 for compatibility with apps ported fromAndroid.[11] Throughout 2019, the Apple team contributed aMetal API backend for the ANGLE so Apple devices could run on their native graphics APIs.[12]
ANGLE is distributed under aBSD-license.
The project started as a way forGoogle to bring full hardware acceleration forWebGL toWindows without relying onOpenGL graphicsdrivers. Google initially released the program under theBSD license.[13]
The current production version (2.1.x) implementsOpenGL ES 2.0, 3.0,3.1 andEGL 1.5, claiming to pass the conformance tests for both. Work was started on then future OpenGL ES 3.0 version,[8] for the newer Direct3D 11 backend.[14]
The capability to use ANGLE in aWindows Store app was added in 2014.[11] Microsoft contributed support for lower feature levels to the project. Supporting CoreWindow and SwapChainPanel in ANGLE's EGL allows applications to run on Windows 8.1, Windows Phone 8.1, and later.[15]
| Direct3D 9 | Direct3D 11 | Desktop GL | GL ES | Vulkan | Metal | |
|---|---|---|---|---|---|---|
| OpenGL ES 2.0 | complete | complete | complete | complete | complete | complete |
| OpenGL ES 3.0 | complete | complete | complete | complete | complete | |
| OpenGL ES 3.1 | incomplete | complete | complete | complete | ||
| OpenGL ES 3.2 | in progress | in progress | complete |
| Direct3D 9 | Direct3D 11 | Desktop GL | GL ES | Vulkan | Metal | |
|---|---|---|---|---|---|---|
| Windows | complete | complete | complete | complete | complete | |
| Linux | complete | complete | ||||
| macOS | complete | complete | ||||
| iOS | complete | |||||
| ChromeOS | complete | Planned | ||||
| Android | complete | complete | ||||
| GGP (Stadia) | complete | |||||
| Fuchsia | complete |
ANGLE is currently used in a number of programs and software.