![](https://raw.githubusercontent.com/mall1/liblava/master/docs/assets/liblava_200px.png)
A modern and easy-to-use library for the Vulkan® API
lava provides essentials for low-level graphics - suited for prototyping, tooling, profiling and education.
This lean framework is written in neat C++20 and it strives for a modular rolling release as far as possible. We don't want to promise too much... but lava runs really smoothly on Windows and Linux.
➜ Download • Documentation (Tutorial + Guide) • Projects • Modules • Collaborate
In a nutshell
- liblava is written in modern C++ with latest Vulkan support
- Provides run loop abstraction for window and input handling
- Plain renderer and command buffer model
- Batteries included ➜ runtime shader compilation
- Texture and mesh loading from virtual file system
- Camera, imgui, logger and much more...
Demos
![]() |
free download on ➜ itch.io The collection includes all stages to play around. - You can easily switch between them. |
Stages
Projects
![]() |
raytraced reflecting cubes Vulkan raytracing with liblava Support for the Vulkan KHR ray tracing extensions with idiomatic wrappers. ➜ pezcode |
Do you have a project? Submit it with a pull request | |
Modules
engine
lava➜ require app
app
lava➜ require block + frame + asset
block
lava➜ require base
frame
lava➜ require resource
asset
lavaresource
lava➜ require base
base
lava➜ require util
file
lava➜ require core
util
lava➜ require core
core
lavaCollaborate
Use the issue tracker to report any bug or compatibility issue.
❤️ Thanks to all contributors making liblava flow...
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
Support
Need help? Please feel free to ask us on ➜ Discord
Help maintenance and development | Every star and follow motivates |
---|---|
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 libraries which are licensed under their own respective Open Source 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.
Vulkan and the Vulkan logo are trademarks of the Khronos Group Inc.
Copyright (c) 2018-present - Lava Block OÜ and contributors