cen 0.0.1

Lightweight compute shader playground
Documentation

Cen

build crate

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=$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.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