ANGLE (software)

ANGLE
Developer(s) Google
Written in C++
Platform Cross-platform
Type Graphics engine
License BSD 3-Clause License
Website angleproject.org

ANGLE (Almost Native Graphics Layer Engine) is an open source, BSD-licensed graphics engine abstraction layer developed by Google.[1] The API is mainly designed to bring high-performance OpenGL compatibility to Windows computers and to web browsers such as Chromium by translating OpenGL calls to Direct3D, which has much better driver support.[2][3][4] There are two backend renderers for ANGLE: the oldest one uses Direct3D 9.0c, while the newer one uses Direct3D 11.[5]

ANGLE is currently used by Google Chrome, Firefox,[6] and the Qt Framework.[7] The engine is also used by Windows 10 for compatibility with apps ported from Android.[8]

History

The project started as a way for Google to bring full hardware acceleration for WebGL to Windows without relying on OpenGL graphics drivers. Google initially released the program under the BSD license.[9]

The current production version (1.0.x) implements OpenGL ES 2.0 and EGL 1.4, claiming to pass the conformance tests for both. Work has started on the future OpenGL ES 3.0 version,[5] for the newer Direct3D 11 backend.[10]

The capability to use ANGLE in a Windows Store app was added in 2014.[8] Supporting CoreWindow and SwapChainPanel in ANGLE's EGL allows applications to run on Windows 8.1, Windows Phone 8.1, and later.[11]

Issues

Still, Angle is based on transpiling technology, translating GLSL into HLSL. This causes some differences in the way expressions are evaluated, in addition to differences in preconditions for equivalent built-in functions in GLSL vs HLSL, plus specific transpiling bugs added to GLSL/HLSL optimizer and compiler bugs. This, with the fact that different browsers rely on different version of Direct3D having different bugs induces many differences of code behavior that can cause WebGL shaders to produce different results depending on the OS and the browser (and the drivers). Many are documented in [12].

Software utilizing ANGLE

ANGLE is currently used in a number of programs and software.

References

  1. "Google Announces Angle – Almost Native Graphics Layer Engine – so OpenGL ES can run over DirectX 9 – khronos.org news". Khronos.org. 19 March 2010. Retrieved 5 August 2014.
  2. "Google's Angle brings OpenGL to Windows". I-programmer.info. 13 December 2011. Retrieved 5 August 2014.
  3. "Chromium gets GPU acceleration – The H Open: News and Features". H-online.com. 30 August 2010. Retrieved 5 August 2014.
  4. Bridge, Henry (18 March 2010). "Chromium Blog: Introducing the ANGLE Project". Blog.chromium.org. Retrieved 5 August 2014.
  5. 1 2 3 "angleproject – ANGLE: Almost Native Graphics Layer Engine – Google Project Hosting". Code.google.com. 25 March 2014. Retrieved 5 August 2014.
  6. 1 2 3 "(WebGL) How to Enable Native OpenGL in your Browser (Windows)". Geeks3D. Retrieved 5 August 2014.
  7. 1 2 "Graphics on Windows from a different angle | Qt Blog". Blog.qt.digia.com. Retrieved 5 August 2014.
  8. 1 2 3 4 "ANGLE: Running OpenGL ES 2.0 Graphics Code on Windows". channel9.msdn.com. 30 April 2015.
  9. Shankland, Stephen (25 March 2014). "Google aims for easier 3D Web on Windows – CNET". News.cnet.com. Retrieved 5 August 2014.
  10. https://angleproject.googlecode.com/files/ANGLE%20and%20Cross-Platform%20WebGL%20Support.pdf.
  11. "ANGLE for Windows Store Wiki". Microsoft Corp.
  12. https://shadertoyunofficial.wordpress.com/2016/07/22/compatibility-issues-in-shadertoy-webglsl/
  13. "ANGLE for Windows Store – NuGet Package". www.nuget.org. 29 May 2015.
  14. https://answers.launchpad.net/stellarium/+faq/2570
  15. https://www.youtube.com/watch?v=60TaTg1RmrQ
  16. http://services.runescape.com/m=news/a=12/dev-blog--nxt---can-i-run-it


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.