Awesome
Low Level Graphics Library (LLGL)
<p align="center"> <a href="https://github.com/LukasBanana/LLGL/blob/master/LICENSE.txt"><img alt="License" src="https://img.shields.io/badge/license-BSD--3%20clause-blue.svg" /></a> <a href="https://discord.com/channels/1257440130021457941"><img alt="Discord" src="https://img.shields.io/discord/1257440130021457941?logo=discord&logoColor=white"></a?> </p> <p align="center"><img src="docu/LLGL_Logo.png"/></p>Abstract
LLGL aims to be a thin abstraction layer for a wide variety of modern and legacy rendering APIs as well as a multitude of platforms targeting both desktop and mobile. LLGL provides close coupling with the underlying APIs for a rich feature set while also simplifying architectural hurdles. The library is written mostly in C++11 with the addition of a C99, C# 6.0, and Go wrapper.
Documentation
- Version: 0.04 Beta (see ChangeLog)
- Getting Started with LLGL (PDF) with Introduction, Hello Triangle Tutorial, and Extensibility Example with GLFW
- LLGL Reference Manual (PDF)
- LLGL Coding Conventions (PDF)
- C++ Examples and Tutorials
- C99 Examples
- C# Examples
- Go Examples
- WebGL Examples
Platform Support
Build Notes
Build scripts are provided for CMake. See LLGL Build System for more details.
Windows
Visual Studio 2015 or later is required to build LLGL on Windows. The Windows SDK is also required to build D3D11 and D3D12 backends.
macOS, iOS
Xcode 9 or later is required to build LLGL on macOS and iOS. For older Macs, there is a legacy mode to build LLGL for Mac OS X 10.6 using MacPorts of Clang.
GNU/Linux
LLGL on GNU/Linux requires the development libraries for X11 and its Xrandr extension (see docs for details).
Android
Android NDK with at least API level 21 is required. The build script supports generating project files for Android Studio.
Installing (vcpkg)
Alternatively, you can build and install LLGL using vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install llgl
The LLGL port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.