Skip to content

LukasBanana/LLGL

Repository files navigation

Low Level Graphics Library (LLGL)

License Join the chat at https://gitter.im/LLGL-Project/community

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 and C# 6.0 wrapper.

Documentation

Platform Support

Platform CI D3D12 D3D11 Vulkan GL/GLES3 Metal
Windows

MSVC16+ CI

MSVC14 CI

✔️ ✔️ ✔️ ✔️ N/A
GNU/Linux GNU/Linux CI N/A N/A ✔️ ✔️ N/A
macOS macOS CI N/A N/A N/A ✔️ ✔️
iOS iOS CI N/A N/A N/A ✔️ ✔️
Android Android CI N/A N/A ✔️ ✔️ N/A

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.

GNU/Linux

LLGL on GNU/Linux requires the development libraries for X11 and its Xrandr extension (see docs for details).

Android

The Android NDK with at least API level 21 is required. The build script to generate project files is currently only supported on GNU/Linux and requires CMake 3.10 or later and the Code::Blocks IDE.

This platform support is currently in an experimental state.

Installing LuaBridge (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.

Showcase

Screenshot missing: Post processing example Screenshot missing: Shadow mapping example

Screenshot missing: PBR example Screenshot missing: Cloth physics example

Screenshot missing: Fonts example (iOS) Screenshot missing: Cloth physics example (iOS)

About

Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published