5个版本 (3个破坏性更新)
0.5.0 | 2021年8月31日 |
---|---|
0.3.1 | 2021年3月13日 |
0.2.3 | 2021年2月20日 |
0.1.1 | 2021年2月20日 |
0.1.0 | 2021年2月20日 |
#17 in #creative
在 3 个crate中使用 (通过 pilka_incremental)
3KB
pilka 🔩
Pilka是一个跨平台的实时编码工具,用于创建着色器*演示,类似于 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。
灵感来源地(我从哪里窃取代码)
依赖关系
~2.3–3.5MB
~74K SLoC