4个版本
新 0.0.4 | 2024年8月17日 |
---|---|
0.0.3 | 2024年8月14日 |
0.0.2 | 2024年8月7日 |
0.0.1 | 2024年8月3日 |
#20 in 渲染引擎
530 每月下载量
88KB
2K SLoC
Kiyo
什么是Kiyo?
Kiyo是一个使用ash的轻量级计算着色器引擎。
Kiyo提供了一个简单的配置接口来运行计算着色器。以下特性已实现
- 多个连续的计算通道
- 它们之间的共享存储图像
- GLSL编译日志
- 着色器热重载
对于任何反馈或请求,您非常欢迎创建问题或直接联系我!
您可以在./examples/ 和我的 玩具项目仓库 中找到示例。
着色器环境变量
这些变量可以在着色器中访问,并由Kiyo本身提供,不要覆盖这些,因为会引入错误。
NUM_IMAGES
- 可访问的存储图像的数量。WORKGROUP_SIZE
- 着色器应运行的工作组大小。
构建 & 运行
确保您已安装Vulkan SDK。
然后构建并运行kiyo
git clone https://github.com/angelocarly/kiyo.git
cd kiyo
cargo run --example simple-render
GPU调试
Windows & Linux
Renderdoc!
Mac
Mac仅具有XCode的Metal调试器。要使用它,您需要提供以下环境变量
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
然后您应该能够启动您的kiyo应用程序并捕获一个帧。
此视频很好地解释了整个过程。
库
- ash - Vulkan绑定
- winit - 窗口创建和处理
- shaderc - 着色器编译
- gpu-allocator - 内存管理
- notify - 文件监视
依赖项
~45–60MB
~1M SLoC