🌋 liblava A modern and easy-to-use library for the Vulkan® API
lava is a lean framework that provides essentials for low-level graphics
and is specially well suited for prototyping, tooling and education
C++20 + Modular Windows + Linux demo + template
Features
- written in modern C++ with latest Vulkan support
- run loop abstraction for window and input handling
- plain renderer and command buffer model
- texture and mesh loading from virtual file system
- camera + gui + logging + test driver and much more
Docs
Tutorial Guide Tests Build Install
Modules
demo (Feb. 20, 2020)
⬇️ Download latestRequirements
- C++20 compatible compiler
- CMake 3.15+
- Vulkan SDK
Third-Party
- argh 3-clause BSD
- bitmap MIT
- glfw zlib
- gli MIT
- glm MIT
- imgui MIT
- json MIT
- physfs zlib
- selene MIT
- spdlog MIT
- stb MIT
- tinyobjloader MIT
- volk MIT
- Vulkan-Headers Apache 2.0
- VulkanMemoryAllocator MIT
Collaborate
You can use the issue tracker to report any bug or compatibility issue
❤️ Thanks to all contributors making liblava flow...
Support
If you want to contribute, we suggest the following:
- Fork the official repository
- Apply your changes to your fork
- Submit a pull request describing the changes you have made
License
liblava is licensed under MIT License which allows you to use the software for any purpose you might like, including commercial and for-profit use!
However, this library includes several third-party Open Source libraries, which are licensed under their own respective licenses ➜ They all allow static linking with closed source software
All copies of liblava must include a copy of the MIT License terms and the copyright notice