41个版本
0.8.2 | 2024年7月8日 |
---|---|
0.7.11 | 2022年10月22日 |
0.7.8 | 2022年6月11日 |
0.7.6 | 2022年1月30日 |
0.3.5 | 2021年3月14日 |
#20 in 渲染
每月下载量2,055
4.5MB
3.5K SLoC
皮尔卡 🔩
皮尔卡是一个跨平台实时编码工具,用于创建着色器*演示,类似于 Bonzomatic,KodeLife 或 sh4der-jockey。
可用功能
- 热重载
- 保存着色器
- 截图
- 录制视频
- 用于后处理的计算管线
如何使用
在当前状态下,pilka
尝试查找 shaders
文件夹中的文件 shader.vert
和 shader.frag
,如果失败,pilka
将为您生成默认设置。然后,在您喜欢的代码编辑器(VS、emacs、vim、ed等)中打开着色器,每次保存后,pilka
将获取更改。
控制
- F1: 打印帮助
- F2: 切换播放/暂停
- F3: 暂停并后退一帧
- F4: 暂停并前进一帧
- F5: 从帧0重新开始播放 (
Time
和Pos
= 0) - F6: 打印参数
- F10: 保存着色器
- F11: 截图
- F12: 开始/停止录制视频
- ESC: 退出应用程序
- 箭头键: 改变
Pos
参数
(per-draw-update)
名称 | 类型 | 范围 |
---|---|---|
位置 | vec3 | (-∞, ∞) |
时间 | float | [0, ∞) |
分辨率 | vec2 | [0, a] |
鼠标 | vec2 | [-1, 1] |
鼠标按下 | bool | |
帧 | uint | |
时间差 | float | |
记录周期 | float | |
前帧 | 纹理 |
标志
--record f32
- 指定录制视频的持续时间--size u32xu32
- 指定窗口大小和锁定调整大小
要求
Vulkan SDK是必需的。
在最新的macOS上,为了捕获声音输入(以便生成FFT纹理),您需要:打开系统偏好设置,点击“安全性与隐私”,然后点击“隐私”标签,再点击“麦克风”菜单项。确保 pilka
在列表中并且勾选……嗯,可能吧。我没有macOS。
安装
cargo install pilka
您也可以通过下载源代码并在本地构建来安装应用程序。
# or through ssh [email protected]:pudnax/pilka.git
git clone https://github.com/pudnax/pilka.git
cd pilka
cargo install --path .
依赖项
winit 是Rust生态系统中的“默认”窗口库。它为您涵盖了大部分跨平台问题。
png 用于将屏幕截图编码为png文件。
notify 是一个文件监视器并维护热重载。
ash 是Vulkan绑定。我选择 ash
因为我认为 pilka
是一个学习项目,并且想要接触尽可能多的未被触及的Vulkan。出于同样的原因,我没有使用 vulkano
、erupt
、vulkanism
、vkvk
。
Ffmpeg 用于录制视频。就我的关注点而言,这是一个临时的解决方案,之后我将切换到 rav1e 的发布。
灵感的来源(我从哪里偷代码)
依赖项
~41–59MB
~1M SLoC