5 个版本
0.23.5 | 2023年4月19日 |
---|---|
0.23.4 | 2023年4月19日 |
0.23.3 | 2023年4月11日 |
0.23.2 | 2023年3月11日 |
0.23.1 | 2023年3月7日 |
#533 in 图形 API
用于 phobos
10MB
254K SLoC
spirv_cross
围绕 SPIRV-Cross 的安全包装
免责声明
这是 spirv-cross 的延续版本,具有更新的依赖项。目前不支持 MSL。所有原始版本的荣誉归 Joshua Groves 所有。如果可能,我将在修复 MSL 后将此存储库中的更改合并到原始仓库中。
与原始版本相比,此分支的额外功能
- 加速结构。
示例
spirv_cross
为使用 Rust 提供了围绕 SPIRV-Cross 的安全包装。例如,以下是一个将 SPIR-V 模块解析并编译为 HLSL 和 MSL 的简单函数。
extern crate spirv_cross;
use spirv_cross::{spirv, hlsl, msl, ErrorCode};
fn example(module: spirv::Module) -> Result<(), ErrorCode> {
// Compile to HLSL
let ast = spirv::Ast::<hlsl::Target>::parse(&module)?;
println!("{}", ast.compile()?);
// Compile to MSL
let ast = spirv::Ast::<msl::Target>::parse(&module)?;
println!("{}", ast.compile()?);
Ok(())
}
许可协议
该项目受 Apache License,版本 2.0 或 MIT 许可证 的许可,您可任选其一。
贡献
除非您明确声明,否则根据 Apache 2.0 许可证定义的,您有意提交以包含在此项目中的任何贡献,均应按上述方式双重许可,而不附加任何额外条款或条件。