ANGLE (''Almost Native Graphics Layer Engine'') is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
,
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
graphics engine abstraction layer
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libra ...
developed by
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
. ANGLE translates
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
2/3 calls to DirectX 9, 11, OpenGL, Vulkan or Metal API calls.
It is a portable version of OpenGL but with limitations of
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
standard.
The API is mainly designed to bring up a high-performance
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
compatibility to
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and to
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s such as
Chromium
Chromium is a chemical element; it has Symbol (chemistry), symbol Cr and atomic number 24. It is the first element in Group 6 element, group 6. It is a steely-grey, Luster (mineralogy), lustrous, hard, and brittle transition metal.
Chromium ...
by translating OpenGL calls to
Direct3D
Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
, which has much better
driver support on Windows systems.
On Windows, there are two backend renderers for ANGLE: the oldest one uses Direct3D 9.0c, while the newer one uses Direct3D 11.
ANGLE is currently used by
Google Chrome
Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, iPadOS, an ...
(embedded into the
Blink browser engine),
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
,
Edge,
WebKit
WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon K ...
, and the
Qt Framework.
The engine is also used by
Windows 10
Windows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was Software release cycle#Release to manufacturing (RTM), released to manufacturing on July 15, 2015, and later to retail on July 2 ...
for compatibility with apps ported from
Android.
Throughout 2019, the Apple team contributed a
Metal API backend for the ANGLE so Apple devices could run on their native graphics APIs.
ANGLE is distributed under a
BSD-license.
History
The project started as a way for
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
to bring full hardware acceleration for
WebGL
WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
to
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
without relying on
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
graphics
drivers. Google initially released the program under the
BSD
The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
license.
The current production version (2.1.x) implements
OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
2.0, 3.0,
3.1 and
EGL 1.5, claiming to pass the conformance tests for both. Work was started on then future OpenGL ES 3.0 version,
for the newer Direct3D 11 backend.
The capability to use ANGLE in a
Windows Store app was added in 2014.
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.
Level of OpenGL ES support via backing renderers
Software utilizing ANGLE
ANGLE is currently used in a number of programs and software.
*
Chromium
Chromium is a chemical element; it has Symbol (chemistry), symbol Cr and atomic number 24. It is the first element in Group 6 element, group 6. It is a steely-grey, Luster (mineralogy), lustrous, hard, and brittle transition metal.
Chromium ...
and
Google Chrome
Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, iPadOS, an ...
.
Chrome uses ANGLE not only for WebGL, but also for its implementation of the 2D
HTML5 canvas and for the graphics layer of the
Google Native Client (which is OpenGL ES 2.0 compatible).
*
Safari web browser uses ANGLE as basis for its WebGL implementation.
*
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
uses ANGLE as the default WebGL backend on Windows.
*
Qt 5 uses ANGLE as the default renderer for its OpenGL ES 2.0 API wrapper and other Qt elements which use it on Windows.
*
Godot uses ANGLE as an option for compatibility renderer for Windows and MacOS platforms starting with Godot 4.2
* ''
Candy Crush Saga
''Candy Crush Saga'' is a free-to-play tile-matching video game released by King on April 12, 2012, originally for Facebook; other versions for iOS, Android, Windows Phone, and Windows 10 followed. It is a variation of their browser game '' ...
'' uses ANGLE as the default renderer in its Windows Store version of the application.
*
Cocos2d uses ANGLE as its rendering engine for applications published to the
Windows Store
The Microsoft Store (formerly known as the Windows Store) is a digital distribution platform operated by Microsoft. It was created as an app store for Windows 8 as the primary means of distributing Universal Windows Platform apps. With ...
.
* ANGLE for Windows Store
provides Windows developers precompiled ANGLE binaries via a NuGet package.
*
Stellarium provides two versions for
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
: the default version uses OpenGL, the alternative version uses ANGLE as the renderer.
* ''
Shovel Knight'' uses ANGLE as rendering engine, as seen in final credits.
* ''
RuneScape
''RuneScape'' is a fantasy massively multiplayer online role-playing game (MMORPG) developed and published by Jagex, released in January 2001. ''RuneScape'' was originally a browser game built with the Java (programming language), Java progr ...
'' NXT client uses ANGLE to provide a DirectX 9 compatibility mode for older graphics cards.
*
Krita
Krita ( ) is a free and open-source software, free and open-source raster graphics editor designed primarily for digital art and 2D animation. Originally created for Linux, the software also runs on Windows, macOS, Haiku (operating system), Hai ...
started using ANGLE as the rendering engine on Windows starting on version 3.3.0.
*
Microsoft Edge
Microsoft Edge is a Proprietary Software, proprietary cross-platform software, cross-platform web browser created by Microsoft and based on the Chromium (web browser), Chromium open-source project, superseding Edge Legacy. In Windows 11, Edge ...
has ANGLE as a rendering option in the "Standards Preview" page in
Windows Insider build 17025.
* ''
Grand Theft Auto V
''Grand Theft Auto V'' is a 2013 action-adventure game developed by Rockstar North and published by Rockstar Games. It is the seventh main entry in the Grand Theft Auto, ''Grand Theft Auto'' series, following 2008's ''Grand Theft Auto IV'', and ...
'' included ANGLE in the installation, normally at Systemdrive.
*
OpenRA uses ANGLE for rendering on Windows
*
SolveSpace uses ANGLE on Windows.
*
GameMaker: Studio uses ANGLE at compile-time to convert GLSL ES shaders to HLSL9 for the old Windows 32-bit export module.
References
External links
*
{{DEFAULTSORT:ANGLE
Application programming interfaces
C++ libraries
Cross-platform software
Free 3D graphics software
Free software programmed in C++
Graphics libraries
Software using the BSD license