A lightweight vulkan window backend using ash.
Cen aims to provide abstractions around Vulkan handles and window management. Current features include:
- Winit-backed window setup
- Vulkan wrappers with shared memory tracking
- Hot-swappable shader storage, compiled at runtime
- GLSL and Slang shader support
- Built-in
eguisupport - Image handles with automatic
eguitexture management
Vulkan features used
- Push descriptors
- Dynamic rendering
Make sure you have the Vulkan SDK installed. This has to be a more recent version with Slang support.
Then build and run cen examples:
git clone https://github.com/angelocarly/cen.git
cd cen
cargo run --example basic
- Renderdoc
- Let me know about others!
Mac only has XCode's Metal debugger. In order to use it you need to provide the following environment variables:
VULKAN_SDK=$HOME/VulkanSDK/<version>/macOS
DYLD_FALLBACK_LIBRARY_PATH=$VULKAN_SDK/lib
VK_ICD_FILENAMES=$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json
VK_LAYER_PATH=$VULKAN_SDK/share/vulkan/explicit_layer.dThen you should be able to launch your cen application and capture a frame.
This video does a nice job explaining the process.