https://github.com/prideout/lava
toy C++ Vulkan library
https://github.com/prideout/lava
graphics vulkan
Last synced: 23 days ago
JSON representation
toy C++ Vulkan library
- Host: GitHub
- URL: https://github.com/prideout/lava
- Owner: prideout
- Created: 2018-04-20T23:53:57.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-04T16:22:18.000Z (over 7 years ago)
- Last Synced: 2024-11-14T22:35:50.052Z (about 1 year ago)
- Topics: graphics, vulkan
- Language: C++
- Homepage:
- Size: 4.39 MB
- Stars: 49
- Watchers: 6
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- AwesomeCppGameDev - lava
README

[](https://travis-ci.org/prideout/lava)
*Lava is just an experimental playground, I do not recommend using it in a production
setting.*
**Lava** is a toy C++ library composed of classes that make it easy to create and manage Vulkan
objects. Each Lava class is defined by a single header with no dependencies on anything other than
`vulkan.h` and the STL.
For more information, see the [documentation](https://prideout.net/lava/).
## Scope
Lava does not include a materials system, a scene graph, an asset loader, or any
platform-specific functionality like windowing and events.
Lava is implemented with a subset of C++14 that forbids RTTI, exceptions, and the use of
``. The public API uses a very narrow subset of C++ whereby classes contain nothing but
methods.
The core library has no dependencies on any third-party libraries other than the single-file
[vk_mem_alloc.h](src/vk_mem_alloc.h) library and [spdlog](https://github.com/gabime/spdlog), which
are included in the repo for convenience.
## Supported platforms
Lava supports macOS via MoltenVK, as well as Linux and Android. It should be easy to extend to other
platforms in the future.