#glsl-shader #框架 #编译器 #创建 #目标 # #内部

rhythmc

Rust 到 GLSL/SPIR-V 编译器框架。这个 crate 的目标是允许在 crate 中创建用纯 Rust 编写的 GLSL 着色器。

1 个不稳定版本

0.0.2 2020年12月18日

#27 in #glsl-shader

MIT 许可证

9KB
119

rhythmc-rs

Build & Check

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 语言

作者

构建说明

$ cargo build

测试说明

$ cargo test
$ cd macros && cargo test
$ cd compiler && cargo test

依赖项

~8.5MB
~171K SLoC