Facebook published the code of the new graphic graphics Library igl (Intermediate Graphics Library), which provides a universal low-level API for managing GPU. The proposed API covers the typical GPU functionality and allows you to create cross-platform applications that can work on top of the graphic API OpenGL, Metal, and Vulkan on systems with Android, iOS, Linux, MacOS, and Windows. The library can also be used for drawing in the web using WebGL, when compiling the application into the Webassembly intermediate code. The library code is written in C++ and spreads under the MIT license.
Bacides for the API are provided for drawing Metal 2+, OpenGL 2.x, OpenGL 3.1+, OpenGL ES 2.0+, Vulkan 1.1, and WebGL 2.0. The library is suitable for the development of games, 3D modeling systems, and any other projects requiring support for high-quality graphics. The IGL code is optimized to achieve maximum performance even when working with complex and detailed models.
The API structure is designed with an eye on ease of use and implements typical concepts that are understandable to most developers familiar with one of the graphic APIs. By the level of IGL abstractions, it is close to Vulkan and WebGPU but is spared from specific specifics tied to specific engines. The library supports the connection of extensions with which you can easily integrate additional functionality and realize the non-standard needs of the developers.