61 个版本

0.23.1 2021 年 3 月 3 日
0.22.2 2020 年 12 月 19 日
0.22.1 2020 年 11 月 17 日
0.20.0 2020 年 5 月 6 日
0.4.1 2017 年 11 月 22 日

#146图形 API

Download history 8871/week @ 2024-03-13 5056/week @ 2024-03-20 17070/week @ 2024-03-27 11623/week @ 2024-04-03 6142/week @ 2024-04-10 7696/week @ 2024-04-17 6158/week @ 2024-04-24 6585/week @ 2024-05-01 4088/week @ 2024-05-08 9553/week @ 2024-05-15 9493/week @ 2024-05-22 4378/week @ 2024-05-29 3020/week @ 2024-06-05 2602/week @ 2024-06-12 2832/week @ 2024-06-19 2661/week @ 2024-06-26

11,638 每月下载量
用于 163 个 Crates (直接使用 10 个)

MIT/Apache

2MB
49K SLoC

C++ 40K SLoC // 0.1% comments Rust 9K SLoC // 0.0% comments

spirv_cross

围绕 SPIRV-Cross 的安全包装

Crate Travis Build Status Appveyor Build Status Gitter

示例

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, Version 2.0](https://github.com/grovesNL/spirv_cross/blob/HEAD/LICENSE-APACHE) 或 [MIT license](https://github.com/grovesNL/spirv_cross/blob/HEAD/LICENSE-MIT)。

贡献

除非您明确声明,否则您有意提交的任何贡献,根据 Apache 2.0 许可证定义,均应双重许可,不附加任何额外条款或条件。

请参阅 CONTRIBUTING.md

依赖项