Cen
What is Cen?
Cen is currently undergoing restructuring after migrating from kiyo.
A lightweight vulkan window backend using ash.
Building & running
Make sure you have the Vulkan SDK installed.
Then build and run cen examples:
git clone https://github.com/angelocarly/cen.git
cd cen
# TODO: There are no examples yet
cargo run --example simple-render
GPU debugging
Windows & Linux
Renderdoc!
Mac
Mac only has XCode's Metal debugger. In order to use it you need to provide the following environment variables:
VULKAN_SDK=/VulkanSDK/<version>/macOS
DYLD_FALLBACK_LIBRARY_PATH=/lib
VK_ICD_FILENAMES=/share/vulkan/icd.d/MoltenVK_icd.json
VK_LAYER_PATH=/share/vulkan/explicit_layer.d
Then you should be able to launch your cen application and capture a frame.
This video does a nice job explaining the process.
References
- myndgera - Pipeline caching and reloading
- paya - Vulkan memory dependencies and ash wrappers
- sound-shader - Cpal wrapper code and shader audio inspiration
Libraries
- ash - Vulkan bindings
- winit - Window creation and handling
- shaderc - Shader compilation
- gpu-allocator - Memory management
- notify - File watching