#shader #glsl #hlsl #assets #include #graphics

include-shader

一个宏,可以将着色器文件作为字符串包含,并支持依赖关系。

3 个不稳定版本

0.2.0 2023 年 3 月 25 日
0.1.1 2022 年 10 月 11 日
0.1.0 2022 年 10 月 11 日

#1272 in 开发工具

每月 21 次下载

MIT/Apache

17KB
266 代码行

include-shader

一个 Rust 宏,可以将着色器文件作为字符串包含,并支持依赖关系。

设置

尽管这个库可以在 stable 上运行,但由于缓存,无法保证检测着色器文件的变化。因此,建议使用 nightly 并启用 track-path 功能,直到 track_path API 稳定下来。

为了获得最佳体验,请使用 nightly 以获取额外的 功能

  • 文件跟踪
  • 相对路径解析

将以下内容添加到您的 Cargo.toml 清单文件中

[dependencies]
include-shader = { version = "0.2.0", features = ["relative-path", "track-path"] }

稳定工具链

将以下内容添加到您的 Cargo.toml 清单文件中

[dependencies]
include-shader = "0.2.0"

示例

use include_shader::include_shader;

fn main() {
   // ...
   let frag_shader = compile_shader(
       &context,
       WebGl2RenderingContext::FRAGMENT_SHADER,
       include_shader!("src/shaders/fragment_shader.glsl"),
   )?;
   // ...
}

文档

有关如何使用此宏的更多详细信息,请参阅文档

许可协议

MIT 许可证Apache 许可证(版本 2.0) 的条款下分发。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中的任何贡献,都应按上述方式双许可,不得附加任何额外的条款或条件。

依赖关系

~2.1–3MB
~53K SLoC