3 个版本
使用旧的 Rust 2015
0.1.1 | 2017 年 7 月 9 日 |
---|---|
0.1.0 | 2017 年 6 月 18 日 |
#1035 在 图形 API
在 ash-tray 中使用
8KB
132 代码行
glsl-to-spirv-macros
[dependencies]
glsl-to-spirv-macros = "0.1.1"
glsl-to-spirv-macros-impl = "0.1.0"
Rust 宏,用于在编译时生成 SPIR-V 二进制文件以供 Vulkan 使用。
要使用此包,您还必须使用 glsl-to-spirv-macros-impl 包。
文档
使用此包在编译时将您的 GLSL 着色器编译成嵌入到您的程序中的二进制文件。
此包要求您还使用 glsl-to-spirv-macros-impl
包。没有它,这些宏将无法工作。不幸的是,目前尚无法将这两个包合并为一个。
示例用法
#[macro_use] extern crate glsl_to_spirv_macros;
#[macro_use] extern crate glsl_to_spirv_macros_impl;
static some_shader: &'static [u8] = glsl_vs!{r#"
// Shader code here
"#};
fn main() {
let another_shader = include_glsl_fs!("path/to/shader");
}
此包中的所有宏都返回 &'static [u8]
,可用于 static
的定义以及局部变量。每个宏都接受一个字符串字面量,例如 "..."
、r#"..."#
等。
这些宏使用官方的 glslang 编译器生成与 Vulkan 兼容的 SPIR-V 二进制文件 - 它们不是为与其他 API(如 OpenCL)一起使用而设计的。
许可证
此库根据您的选择受以下任何一个许可证的约束
- Apache 许可证 2.0 版本,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在工作中的任何贡献,均应如上所述双重许可,无需任何额外条款或条件。