Yet another C++20 Vulkan engine.
This is a pet/learning project, it's not meant to be a serious engine and should not be used for anything beside playing with Vulkan.
Currently only supports Windows
- With GCC 14+ through MSYS2
- With MSVC 19.28+
Serialization format is compiler dependent!
- y: Core library with a bunch of utility functions and classes
- yave: The engine itself It links only to y and spirv_reflect
- editor: A scene editor build on top of yave
- shaders: All the shaders for both the engine and the editor
- external: Third party libraries
You need:
- CMake (3.25)
- A C++20 compiler
- Vulkan SDK
- With Volk
Implemented features:
- All basic Vulkan features
- Buffers
- Images
- Arrays
- Cubemaps and IBL probes
- Descriptor sets
- Basic pipelines
- Compute shaders
- Swapchain
- Framebuffers
- Resources lifetime management
- Framegraph
- Rendering pipeline
- Tiled deferred shader
- Physically based lighting
- IBL
- Shadows for spot and directional lights
- Basic scenes
- TAA
- Bindless renderer with batching
- Tiled deferred shader
MIT