Available under the MIT license, Meta (as in Facebook) have released IGL (Intermediate Graphics Library) for developers. This was officially announced on The Khronos Group blog (who oversee various open standards), written by Meta developers.
Supporting OpenGL, OpenGL ES, WebGL, Vulkan and Metal and it's cross-platform for Android, iOS, Linux, macOS, Windows and WebAssembly. They hope to see developers using it across the industry whether you're "working on a game, a 3D modeling application or any other project that requires top-notch graphics" they say that "IGL has got you covered".
Key features of Meta's IGL:
- Cross-platform compatibility: In addition to the functionality mentioned above, IGL also provides a shell library, allowing users to compile and run on the most popular platforms including Windows, Linux, Mac OS, iOS, Android and WebAssembly.
- High-performance rendering: IGL is optimized to provide lightning-fast rendering, even when dealing with complex and detailed graphics.
- Easy-to-use API: An intuitive and easy-to-use API means that IGL is simple and straightforward to work with. Rather than introducing RHI as part of the high-level engine abstraction or mimicking one graphics interface behind another, IGL takes a new approach to abstracting RHI by creating a new modern interface, which is close to Vulkan or WebGPU on the abstraction layer, but general enough to avoid being engine-specific.
- Extensibility: IGL was built with extensibility in mind, allowing users to easily add new features and functionality as their needs evolve.
- Open source: IGL is completely open source and can be used for any project, commercial or otherwise, without any licensing restrictions.
They have an interesting roadmap of what they hope to bring to it too including a multi-threading API, asynchronous loading of resources, a synchronization primitives API and more. Going by the GitHub page they say it has already been "battle-tested" used with Android, Quest 2 / 3 / Pro with OpenGL / Vulkan and their own apps.
You can find it on GitHub.