libvultra is the core library of Vultra, which can be used for rapidly creating graphics or game prototypes without the VultraEditor.
(This project is under early development and WIP.)
- Modern Vulkan using Vulkan-Hpp, Vulkan-Memory-Allocator-Hpp and more
- FrameGraph (RenderGraph) based rendering system
- OpenXR support (now focusing on VR only, not AR)
- Modern SDL using SDL3
- ImGui docking + multiview
[Example: Sponza with Meshlet Debug View]
Prerequisites:
- Git
- XMake
- Vulkan SDK
- Visual Studio with MSVC if Windows
- GCC or Clang if Linux/Unix
- XCode with GCC or Apple Clang if macOS
Step-by-Step:
-
Install XMake by following this.
-
Clone the project:
git clone --recursive https://github.com/zzxzzk115/libvultra.git
-
Build the project:
cd libvultra git submodule update --init xmake -vD -
Run the programs:
xmake run
or run a specific program:
xmake run example-window xmake run example-rhi-triangle xmake run example-imgui xmake run example-framegraph-triangle xmake run example-openxr-triangle xmake run example-openxr-sponza xmake run example-raytracing-triangle xmake run example-raytracing-cornell-box xmake run example-rayquery xmake run example-meshshading-triangle xmake run example-gltf-viewer xmake run example-sponza
Tips: For OpenXR programs, you may need to set the XR_RUNTIME_JSON environment variable. For debugging OpenXR programs without headsets, you may need Meta XR Simulator on Windows and macOS. On Linux, you can use Monado as the simulator.
- Wayland support
- More powerful texture loader that supports KTX, KTX2, DDS and more
- KTX
- KTX2
- DDS
- EXR
- ECS-based scene management with EnTT
- Raytracing Pipeline
- Mesh Shading Pipeline
- Resource Pipeline
- Lua or C# Scripting System
- (Maybe?) AR support
You can simply create a project by using this template.
Have fun!
This project is under the MIT license.

![[Example: Sponza]](/zzxzzk115/libvultra/raw/master/media/images/example-sponza.png)