A thin abstraction layer for modern graphics APIs (OpenGL, Direct3D, Vulkan, Metal) across desktop and mobile platforms.
LLGL (Low Level Graphics Library) is a cross-platform graphics abstraction layer that provides a unified interface to modern rendering APIs like OpenGL, Direct3D, Vulkan, and Metal. It simplifies graphics programming by allowing developers to write code once and deploy across multiple platforms, including desktop and mobile. The library offers close coupling with underlying APIs to enable advanced graphics features while reducing architectural complexity.
Graphics engineers, game developers, and application developers who need to support multiple graphics APIs and platforms without rewriting rendering code for each target.
Developers choose LLGL for its thin abstraction design that minimizes overhead while providing extensive API coverage and cross-platform support. Its language wrappers (C99, C#, Go) and integration with build systems like CMake make it accessible and practical for diverse development environments.
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Unifies OpenGL, Direct3D 11/12, Vulkan, and Metal under a single interface, enabling code reuse across different graphics backends as shown in the platform support table.
Supports Windows, Linux, macOS, iOS, Android, UWP, and WebAssembly, allowing deployment across desktop, mobile, and web with minimal changes.
Provides C99, C# 6.0, and Go bindings alongside C++11, making it accessible for projects in multiple programming languages without sacrificing low-level control.
Includes examples for advanced techniques like PBR, shadow mapping, and physics simulations, demonstrating practical implementation and reducing learning curve.
At version 0.05 Beta, the library may have instability, breaking changes, and lack production-ready maturity, as noted in the documentation.
Requires platform-specific toolchains like Visual Studio 2015+, Xcode 9+, or Android NDK, and dependencies such as X11 on Linux, increasing initial configuration effort.
Documentation is provided as static PDF files (e.g., reference manual), which are less searchable and harder to update compared to web-based interactive docs.