1 个不稳定版本
0.0.2 | 2020年12月18日 |
---|
#27 in #glsl-shader
9KB
119 行
rhythmc-rs
Rust 到 GLSL/SPIR-V 编译器框架。这个 crate 的目标是允许在 crate 中创建用纯 Rust 编写的 GLSL 着色器。以下是一些使用 rhythmc 的好处:
- 避免手动编译着色器的麻烦(生成的 GLSL 代码和/或 SPIR-V 二进制文件将直接写入源代码中,在 Rust 编译器处理之前)。
- 它提供了一个标准化的方式来导入着色器代码。当你使用
use
导入符号时,rhythmc 会检测到这一点并将所需的符号直接导入你的 GLSL 代码中。所以这基本上就像包含任何其他 Rust 模块一样简单。 - 它允许你像 Rust 代码一样为你的着色器编写 CPU 模拟单元测试。也就是说,rhythmc 标准库将在 Rust 代码中实现,并在需要时转换为 GLSL。因此,在你的 Rust 项目中使用着色器代码将100%工作(尽管它不会在 GPU 上运行)。
- 最终,它将支持一个易于使用的基于 GPU 的黑盒测试框架,以便你可以测试生成的着色器输出。
为什么叫 rhythmc?
这个名字源于构建这个框架的游戏引擎(目前是一个私人项目)。
先决条件
- Rust 语言
作者
- Patrick Hadlaw - patrickhadlaw
构建说明
$ cargo build
测试说明
$ cargo test
$ cd macros && cargo test
$ cd compiler && cargo test
依赖项
~8.5MB
~171K SLoC