{"id":15030636,"url":"https://github.com/lukasbanana/llgl","last_synced_at":"2025-05-14T05:10:33.010Z","repository":{"id":47573435,"uuid":"62965106","full_name":"LukasBanana/LLGL","owner":"LukasBanana","description":"Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal","archived":false,"fork":false,"pushed_at":"2025-05-11T22:59:17.000Z","size":104157,"stargazers_count":2282,"open_issues_count":8,"forks_count":146,"subscribers_count":73,"default_branch":"master","last_synced_at":"2025-05-11T23:26:56.082Z","etag":null,"topics":["d3d11","d3d12","directx","metal","opengl","renderer","vulkan"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukasBanana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-07-09T19:10:46.000Z","updated_at":"2025-05-11T22:59:21.000Z","dependencies_parsed_at":"2024-01-23T04:23:45.305Z","dependency_job_id":"af4ebbaf-02b2-4563-bc53-c08617531c33","html_url":"https://github.com/LukasBanana/LLGL","commit_stats":{"total_commits":3445,"total_committers":18,"mean_commits":"191.38888888888889","dds":0.03541364296081273,"last_synced_commit":"4f80f54f5c7234c0b084004a1fbe8b1adcf02ba3"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasBanana%2FLLGL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasBanana%2FLLGL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasBanana%2FLLGL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasBanana%2FLLGL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukasBanana","download_url":"https://codeload.github.com/LukasBanana/LLGL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["d3d11","d3d12","directx","metal","opengl","renderer","vulkan"],"created_at":"2024-09-24T20:13:55.424Z","updated_at":"2025-05-14T05:10:32.985Z","avatar_url":"https://github.com/LukasBanana.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Low Level Graphics Library (LLGL)\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/LukasBanana/LLGL/blob/master/LICENSE.txt\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-BSD--3%20clause-blue.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.com/channels/1257440130021457941\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1257440130021457941?logo=discord\u0026logoColor=white\"\u003e\u003c/a?\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"docu/LLGL_Logo.png\"/\u003e\u003c/p\u003e\n\n\n## Abstract\n\nLLGL 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.\nLLGL provides close coupling with the underlying APIs for a rich feature set while also simplifying architectural hurdles.\nThe library is written mostly in C++11 with the addition of a C99, C# 6.0, and Go wrapper.\n\n\n## Documentation\n\n- **Version**: 0.04 Beta (see [ChangeLog](docu/ChangeLog))\n- [Getting Started with LLGL](docu/GettingStarted/Getting%20Started%20with%20LLGL.pdf) (PDF)\nwith Introduction, Hello Triangle Tutorial, and Extensibility Example with [GLFW](http://www.glfw.org/)\n- [LLGL Reference Manual](docu/refman.pdf) (PDF)\n- [LLGL Coding Conventions](docu/CodingConventions/Coding%20Conventions%20for%20LLGL.pdf) (PDF)\n- [C++ Examples and Tutorials](examples/Cpp)\n- [C99 Examples](examples/C99)\n- [C# Examples](examples/CSharp)\n- [Go Examples](examples/Go)\n- [WebGL Examples](https://lukasbanana.github.io/LLGL/docu/WebPage)\n\n\n## Platform Support\n\n| Platform | CI | D3D12 | D3D11 | Vulkan | OpenGL | Metal |\n|----------|:--:|:-----:|:-----:|:------:|:------:|:-----:|\n| \u003cimg src=\"docu/Icons/windows.svg\" height=\"20\" /\u003e Windows | \u003cp\u003e[![MSVC16+ CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_windows.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_windows.yml)\u003c/p\u003e \u003cp\u003e[![MSVC14 CI](https://ci.appveyor.com/api/projects/status/j09x8n07u3byfky0?svg=true)](https://ci.appveyor.com/project/LukasBanana/llgl)\u003c/p\u003e | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | N/A |\n| \u003cimg src=\"docu/Icons/uwp.svg\" height=\"20\" /\u003e UWP | [![UWP CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_uwp.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_uwp.yml) | :heavy_check_mark: | :heavy_check_mark: | N/A | N/A | N/A |\n| \u003cimg src=\"docu/Icons/linux.svg\" height=\"20\" /\u003e GNU/Linux | [![GNU/Linux CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_linux.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_linux.yml) | N/A | N/A | :heavy_check_mark: | :heavy_check_mark: | N/A |\n| \u003cimg src=\"docu/Icons/macos.svg\" height=\"20\" /\u003e macOS | [![macOS CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_macos.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_macos.yml) | N/A | N/A | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| \u003cimg src=\"docu/Icons/ios.svg\" height=\"20\" /\u003e iOS | [![iOS CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_ios.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_ios.yml) | N/A | N/A | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |\n| \u003cimg src=\"docu/Icons/android.svg\" height=\"20\" /\u003e Android | [![Android CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_android.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_android.yml) | N/A | N/A | :construction: | :heavy_check_mark: | N/A |\n| \u003cimg src=\"docu/Icons/wasm.svg\" height=\"20\" /\u003e Wasm | [![WebAssembly CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_wasm.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_wasm.yml) | N/A | N/A | N/A | :heavy_check_mark: | N/A |\n| \u003cimg src=\"docu/Icons/cmake.svg\" height=\"20\" /\u003e CMake/Unity | [![Unity Build CI](https://github.com/LukasBanana/LLGL/actions/workflows/ci_unity.yml/badge.svg)](https://github.com/LukasBanana/LLGL/actions/workflows/ci_unity.yml) | | | | | |\n\n\n## Build Notes\n\nBuild scripts are provided for [**CMake**]((https://cmake.org/)). See [LLGL Build System](https://github.com/LukasBanana/LLGL/tree/master/docu#llgl-build-system) for more details.\n\n### Windows\n\n[**Visual Studio 2015**](https://visualstudio.microsoft.com/) or later is required to build LLGL on Windows.\nThe Windows SDK is also required to build D3D11 and D3D12 backends.\n\n### macOS, iOS\n\n[**Xcode 9**](https://developer.apple.com/xcode/) or later is required to build LLGL on macOS and iOS.\nFor older Macs, there is a legacy mode to build LLGL for Mac OS X 10.6 using [MacPorts](https://www.macports.org/) of Clang.\n\n### GNU/Linux\n\nLLGL on GNU/Linux requires the development libraries for [X11](https://www.x.org/) and its [Xrandr](https://www.x.org/wiki/Projects/XRandR/) extension (see [docs](docu#gnulinux) for details).\n\n### Android\n\n[Android NDK](https://developer.android.com/ndk) with at least API level 21 is required.\nThe build script supports generating project files for [Android Studio](https://developer.android.com/studio).\n\n## Installing (vcpkg)\n\nAlternatively, you can build and install LLGL using [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:\n\n```\n    git clone https://github.com/Microsoft/vcpkg.git\n    cd vcpkg\n    ./bootstrap-vcpkg.sh\n    ./vcpkg integrate install\n    ./vcpkg install llgl\n```\n\nThe 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](https://github.com/Microsoft/vcpkg) on the vcpkg repository.\n\n\n## Showcase\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"examples/Cpp/PostProcessing/Example.png\" alt=\"Screenshot missing: Post processing example\" style=\"width:300px;height:auto;\"\u003e\n    \u003cimg src=\"examples/Cpp/ShadowMapping/Example.png\" alt=\"Screenshot missing: Shadow mapping example\" style=\"width:300px;height:auto;\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"examples/Cpp/PBR/Example.png\" alt=\"Screenshot missing: PBR example\" style=\"width:300px;height:auto;\"\u003e\n    \u003cimg src=\"examples/Cpp/ClothPhysics/Example.gif\" alt=\"Screenshot missing: Cloth physics example\" style=\"width:300px;height:auto;\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"examples/Cpp/Fonts/Example.iOS.png\" alt=\"Screenshot missing: Fonts example (iOS)\" style=\"height:400px;width:auto;\"\u003e\n    \u003cimg src=\"examples/Cpp/ClothPhysics/Example.iOS.png\" alt=\"Screenshot missing: Cloth physics example (iOS)\" style=\"height:400px;width:auto;\"\u003e\n\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukasbanana%2Fllgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukasbanana%2Fllgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukasbanana%2Fllgl/lists"}