Facebook опубликовал код новой графической библиотеки IGL (Intermediate Graphics Library), предоставляющей универсальный низкоуровневый API для управления GPU. Предложенный API охватывает типовую функциональность GPU и позволяет создавать кросс-платформенные приложения, способные работать поверх графических API OpenGL, Metal и Vulkan на системах с Android, iOS, Linux, macOS и Windows. Библиотека также может применяться для отрисовки в Web с использованием WebGL, при компиляции приложения в промежуточный код WebAssembly. Код библиотеки написан на языке С++ и распространяется под лицензией MIT.
Для отрисовки предоставляются бэкенды для API
Metal 2+, OpenGL 2.x, OpenGL 3.1+, OpenGL ES 2.0+, Vulkan 1.1 и WebGL 2.0. Библиотека подходит для разработки игр, систем 3D-моделирования и любых других проектов, требующих поддержки высококачественной графики. Код IGL оптимизирован для достижения максимальной производительности даже при работе со сложными и детализированными моделями.
Структура API разработана с оглядкой на простоту использования и реализует типовые концепции, понятные большинству разработчиков, знакомых с одним из графических API. По уровню абстракций IGL близок к Vulkan и WebGPU, но при этом избавлен от привязанной к конкретным движкам специфики. Библиотека поддерживает подключение расширений, при помощи которых можно легко интегрировать дополнительную функциональности и реализовать возникающие нестандартные потребности разработчиков.