gan74 / Yave

Yet Another Vulkan Engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yave

Yet another C++20 Vulkan engine.

Disclaimer

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 12+ through MSYS2
  • With MSVC 19.28+

Serialization format is compiler dependent!

Status

Currently a mess, should smooth out as I am learning Vulkan.

The project is in its early stages.

Current status Older UI

Project structure

  • y: Core library with a bunch of utility functions and classes
  • yave: The engine itself It links only to y and spirv-cross
  • editor: A scene editor build on top of yave
  • shaders: All the shaders for both the engine and the editor
  • external: Third party libraries

Building

You need:

  • CMake (3.24)
  • A C++17 compiler
  • Vulkan SDK
    • With Volk

Implemented features:

  • Buffers
  • Images
    • Arrays
    • Cubemaps
      • IBL probes
  • Descriptor sets
  • Basic pipelines
  • Compute shaders
  • Swapchain
  • Framebuffers
  • Resources lifetime management
  • Framegraph
  • Rendering pipeline
    • Tiled deferred shader
      • Physically based lighting
      • IBL
    • Basic scenes
  • Meshes

Licence:

MIT

About

Yet Another Vulkan Engine

License:MIT License


Languages

Language:C++ 95.3%Language:GLSL 3.5%Language:Python 0.6%Language:CMake 0.5%Language:C 0.1%