#着色器 #图形 #Vulkan #创意 #图形管线

bin+lib pilka

创建着色器演示的另一个实时编码工具

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 渲染

Download history 638/week @ 2024-07-06 31/week @ 2024-07-13

每月下载量2,055

MIT 许可证

4.5MB
3.5K SLoC

皮尔卡 🔩

Crates.io

皮尔卡是一个跨平台实时编码工具,用于创建着色器*演示,类似于 BonzomaticKodeLifesh4der-jockey

可用功能

  • 热重载
  • 保存着色器
  • 截图
  • 录制视频
  • 用于后处理的计算管线

preview

如何使用

在当前状态下,pilka 尝试查找 shaders 文件夹中的文件 shader.vertshader.frag,如果失败,pilka 将为您生成默认设置。然后,在您喜欢的代码编辑器(VS、emacs、vim、ed等)中打开着色器,每次保存后,pilka 将获取更改。

控制

  • F1: 打印帮助
  • F2: 切换播放/暂停
  • F3: 暂停并后退一帧
  • F4: 暂停并前进一帧
  • F5: 从帧0重新开始播放 (TimePos = 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。出于同样的原因,我没有使用 vulkanoeruptvulkanismvkvk

Ffmpeg 用于录制视频。就我的关注点而言,这是一个临时的解决方案,之后我将切换到 rav1e 的发布。

灵感的来源(我从哪里偷代码)

依赖项

~41–59MB
~1M SLoC