Capa de abstracción de motor gráfico de código abierto desarrollada por Google
ANGLE ( Almost Native Graphics Layer Engine ) es una capa de abstracción de motor gráfico multiplataforma de código abierto desarrollado por Google . [1] ANGLE traduce las llamadas OpenGL ES 2/3 a llamadas API de DirectX 9, 11, OpenGL o Vulkan. [2] [3] [4] [5] Es una versión portátil de OpenGL pero con las limitaciones del estándar OpenGL ES . [6] [7]
La API está diseñada principalmente para ofrecer compatibilidad OpenGL de alto rendimiento con Microsoft Windows y navegadores web como Chromium al traducir las llamadas OpenGL a Direct3D , que tiene un soporte de controlador mucho mejor en sistemas Windows. [3] [4] [5] En Windows, hay dos renderizadores backend para ANGLE: el más antiguo usa Direct3D 9.0c, mientras que el más nuevo usa Direct3D 11. [8]
ANGLE es utilizado actualmente por Google Chrome (integrado en el motor del navegador Blink ), Firefox , [9] Edge , WebKit y Qt Framework . [10] El motor también es utilizado por Windows 10 para compatibilidad con aplicaciones portadas desde Android . [11] A lo largo de 2019, el equipo de Apple contribuyó con un backend de API de Metal para ANGLE para que los dispositivos Apple pudieran ejecutarse en sus API de gráficos nativas. [12]
ANGLE se distribuye bajo una licencia BSD .
Historia
El proyecto comenzó como una forma de que Google pudiera ofrecer aceleración de hardware completa para WebGL en Windows sin depender de los controladores gráficos OpenGL . Google lanzó inicialmente el programa bajo la licencia BSD . [13]
La versión de producción actual (2.1.x) implementa OpenGL ES 2.0, 3.0, 3.1 y EGL 1.5, y afirma haber pasado las pruebas de conformidad para ambos. Se comenzó a trabajar en la futura versión OpenGL ES 3.0 [8] para el backend más reciente de Direct3D 11. [14]
La capacidad de usar ANGLE en una aplicación de Windows Store se agregó en 2014. [11] Microsoft contribuyó con soporte para niveles de características más bajos al proyecto. La compatibilidad con CoreWindow y SwapChainPanel en el EGL de ANGLE permite que las aplicaciones se ejecuten en Windows 8.1, Windows Phone 8.1 y versiones posteriores. [15]
Nivel de compatibilidad con OpenGL ES a través de renderizadores de respaldo
Software que utiliza ANGLE
ANGLE se utiliza actualmente en varios programas y software.
- Chromium y Google Chrome . [9] Chrome utiliza ANGLE no solo para WebGL, sino también para su implementación del lienzo HTML5 2D y para la capa gráfica de Google Native Client (que es compatible con OpenGL ES 2.0). [8]
- El navegador web Safari utiliza ANGLE como base para su implementación WebGL. [12]
- Firefox utiliza ANGLE como backend WebGL predeterminado en Windows. [9]
- Qt 5 utiliza ANGLE como renderizador predeterminado para su contenedor API OpenGL ES 2.0 y otros elementos Qt que lo utilizan en Windows. [10]
- Godot utiliza ANGLE como una opción para el renderizador de compatibilidad para plataformas Windows y MacOS a partir de Godot 4.2 [16] [17]
- Candy Crush Saga utiliza ANGLE como renderizador predeterminado en su versión de la aplicación para Windows Store. [11]
- Cocos2d utiliza ANGLE como su motor de renderizado para aplicaciones publicadas en la Tienda Windows . [11]
- ANGLE para Windows Store [18] proporciona a los desarrolladores de Windows binarios ANGLE precompilados a través de un paquete NuGet.
- Stellarium ofrece dos versiones para Windows : la versión predeterminada utiliza OpenGL, la versión alternativa utiliza ANGLE como renderizador. [19]
- Shovel Knight utiliza ANGLE como motor de renderizado, como se ve en los créditos finales. [20]
- El cliente RuneScape NXT utiliza ANGLE para proporcionar un modo de compatibilidad con DirectX 9 para tarjetas gráficas más antiguas. [21]
- Krita comenzó a utilizar ANGLE como motor de renderizado en Windows a partir de la versión 3.3.0. [22]
- Microsoft Edge tiene ANGLE como opción de renderizado en la página "Vista previa de estándares" en Windows Insider build 17025.
- Grand Theft Auto V incluye ANGLE en la instalación, normalmente en Systemdrive.
- OpenRA utiliza ANGLE para renderizar en Windows [23]
- SolveSpace utiliza ANGLE en Windows.
- GameMaker: Studio usa ANGLE en tiempo de compilación para convertir sombreadores GLSL ES a HLSL9 para el antiguo módulo de exportación de 32 bits de Windows.
Referencias
- ^ "Google anuncia Angle, un motor de capa gráfica casi nativo, para que OpenGL ES pueda funcionar sobre DirectX 9 – noticias de khronos.org". Khronos.org. 19 de marzo de 2010. Consultado el 5 de agosto de 2014 .
- ^ "ANGLE". Skia . Consultado el 11 de abril de 2022 .
- ^ ab "Google's Angle trae OpenGL a Windows". I-programmer.info. 13 de diciembre de 2011. Consultado el 5 de agosto de 2014 .
- ^ ab "Chromium obtiene aceleración de GPU – The H Open: Noticias y características". H-online.com. 30 de agosto de 2010. Consultado el 5 de agosto de 2014 .
- ^ ab Bridge, Henry (18 de marzo de 2010). «Blog de Chromium: presentación del proyecto ANGLE». Blog.chromium.org . Consultado el 5 de agosto de 2014 .
- ^ "angle/angle - Git en Google". chromium.googlesource.com . Consultado el 8 de julio de 2021 .
- ^ ANGLE: OpenGL en Vulkan, 11 de mayo de 2018 , consultado el 8 de julio de 2021
- ^ abc "angleproject – ANGLE: Almost Native Graphics Layer Engine – Google Project Hosting". 25 de marzo de 2014. Consultado el 5 de agosto de 2014 .
- ^ abc "(WebGL) Cómo habilitar OpenGL nativo en su navegador (Windows)". Geeks3D. 11 de junio de 2013. Consultado el 5 de agosto de 2014 .
- ^ ab "Gráficos en Windows desde un ángulo diferente | Blog de Qt". Qt . Consultado el 5 de agosto de 2014 .
- ^ abcd "ANGLE: Ejecución de código gráfico OpenGL ES 2.0 en Windows". channel9.msdn.com. 30 de abril de 2015.
- ^ ab "WebGL 2.0 logra un soporte generalizado de todos los principales navegadores web". The Khronos Group . 9 de febrero de 2022 . Consultado el 13 de febrero de 2022 .
- ^ Shankland, Stephen (25 de marzo de 2014). "Google busca una Web 3D más sencilla en Windows – CNET". News.cnet.com . Consultado el 5 de agosto de 2014 .
- ^ https://angleproject.googlecode.com/files/ANGLE%20and%20Cross-Platform%20WebGL%20Support.pdf Archivado el 11 de agosto de 2014 en Wayback Machine .
- ^ "ANGLE para la wiki de la Tienda Windows". Microsoft Corp.
- ^ "Instantánea de desarrollo: Godot 4.2 dev 6".
- ^ "[macOS/Windows] Agregar compatibilidad opcional con renderizador OpenGL respaldado por ANGLE (selección de backend en tiempo de ejecución). Por bruvzg · Solicitud de incorporación de cambios n.° 72831 · godotengine/Godot". GitHub .
- ^ "ANGLE para Windows Store: paquete NuGet". www.nuget.org. 29 de mayo de 2015.
- ^ "Preguntas frecuentes n.° 2570: Preguntas: Stellarium". answers.launchpad.net . 19 de julio de 2014.
- ^ VideoGameCredits (27 de junio de 2014). "Shovel Knight (Créditos) (PC)" – vía YouTube.
- ^ Jagex (2 de febrero de 2016). "Blog de desarrollo: NXT: ¿puedo ejecutarlo? - Noticias: RuneScape". services.runescape.com .
- ^ Fundación, Krita (28 de septiembre de 2017). "Krita 3.3.0 - Krita". krita.org .
- ^ Chote, Paul (31 de enero de 2021). "Prueba de juego 20210131". OpenRA .
Enlaces externos