Meta liberó el código fuente de su biblioteca de gráficos IGL
Khronos dio a conocer hace poco mediante una publicación de blog que Meta (anteriormente conocido como la empresa Facebook) ha tomado la decisión de liberar el código de una nueva biblioteca de gráficos IGL (Biblioteca de gráficos intermedios), que proporciona una API universal de bajo nivel para controlar la GPU.
IGL se posiciona como una biblioteca de gráficos multiplataforma que proporciona a los desarrolladores un poderoso conjunto de herramientas para crear imágenes y gráficos de alta calidad en sus aplicaciones, ya sea un juego, una aplicación de modelado 3D o cualquier otro proyecto que requiera gráficos de primer nivel.
¡Meta se complace en anunciar el lanzamiento de nuestra nueva biblioteca de gráficos intermedios (IGL) de código abierto! En Meta, estamos comprometidos con la creación de estándares abiertos para gráficos 3D en asociación con la industria en general y el Grupo Khronos ® . Después de meses de arduo trabajo y dedicación, estamos encantados de compartir nuestra última creación con la comunidad de desarrollo.
Se menciona que la API propuesta cubre la funcionalidad típica de GPU y le permite al desarrollador el poder crear aplicaciones multiplataforma que pueden ejecutarse sobre las API de gráficos OpenGL, Metal y Vulkan en sistemas Android, iOS, Linux, macOS y Windows.
La biblioteca también se puede usar para renderizar en la web mediante WebGL al compilar la aplicación en el código intermedio de WebAssembly. Para el renderizado, se proporcionan backends API para Metal 2+, OpenGL 2.x, OpenGL 3.1+, OpenGL ES 2.0+, Vulkan 1.1 y WebGL 2.0.
De las características clave que se destacan de IGL, se mencionan las siguientes:
- IGL es multiplataforma: como ya se menciono al inicio, IGL proporciona una biblioteca de shell, lo que permite a los desarrolladores el poder compilar y ejecutar en las plataformas más populares, incluidas Windows, Linux, Mac OS, iOS, Android y WebAssembly.
- Renderizado de alto rendimiento: IGL está optimizado para proporcionar un renderizado ultrarrápido, incluso cuando se trata de gráficos complejos y detallados.
- API fácil de usar: una API intuitiva y fácil de usar significa que IGL es simple y directo para trabajar. En lugar de introducir RHI como parte de la abstracción del motor de alto nivel o imitar una interfaz gráfica detrás de otra, IGL adopta un nuevo enfoque para abstraer RHI mediante la creación de una nueva interfaz moderna, que está cerca de Vulkan o WebGPU en la capa de abstracción, pero en general suficiente para evitar ser específico del motor.
- Sobrecarga mínima: IGL admite código de representación nativo nuevo o existente sin sobrecarga de interoperabilidad de lenguajes o la necesidad de otros tiempos de ejecución de lenguajes.
- Código abierto: IGL es completamente de código abierto y se puede utilizar para cualquier proyecto, comercial o de otro tipo, sin restricciones de licencia.
Si es un desarrollador de juegos con experiencia como si acaba de empezar con la programación de gráficos, nuestra biblioteca le ofrece las herramientas que necesita para crear imágenes sorprendentes en sus aplicaciones.
Como tal se destaca que la biblioteca es adecuada para desarrollar juegos, sistemas de modelado 3D y cualquier otro proyecto que requiera soporte de gráficos de alta calidad. El código IGL está optimizado para un rendimiento máximo incluso cuando se trabaja con modelos complejos y detallados.
La estructura de la API está diseñada teniendo en cuenta la facilidad de uso e implementa conceptos genéricos que comprenderán la mayoría de los desarrolladores familiarizados con una de las API de gráficos.
En términos de nivel de abstracción, IGL está cerca de Vulkan y WebGPU, pero al mismo tiempo, está libre de detalles vinculados a motores específicos. La biblioteca admite la conexión de extensiones, con las que puede integrar fácilmente funciones adicionales e implementar las necesidades emergentes no estándar de los desarrolladores.
Finalmente si estás interesado en poder conocer más al respecto, debes saber que el código de la biblioteca está escrito en C++ y se distribuye bajo la licencia MIT. Puedes consultar el código del proyecto en el siguiente enlace.
Puedes consultar los detalles de la nota en la publicación original en el siguiente enlace.