#vulkan #抽象层 #设备 #之上 #光线追踪 #内存 #爆发

asche

在 erupt 上提供抽象层,以简化 Rust 中 Vulkan 的使用

27 个稳定版本

2.0.0 2021 年 7 月 28 日
1.12.0 2021 年 7 月 22 日
1.4.0 2021 年 6 月 14 日
1.3.1 2021 年 4 月 21 日
1.0.2 2021 年 3 月 31 日

图形 API 中排名 #338

Download history 3/week @ 2024-03-09 4/week @ 2024-03-16 7/week @ 2024-03-30

每月下载量 78

Zlib OR MIT OR Apache-2.0

720KB
5.5K SLoC

asche

Latest version Documentation ZLIB MIT Apache

在 erupt 上提供抽象层,以简化 Rust 中 Vulkan 的使用。主要处理 Vulkan 的繁琐工作(设备初始化、内存管理等)和对象的生命周期。

没有验证和很多痛苦。生命周期没有被完全追踪,所以你需要注意何时丢弃哪些资源以避免 UB(检查验证层)。

你可能想使用 wgpu-rs 代替!

要求

Vulkan 1.2+ 驱动程序。

功能

  • tracing 使用 tracing 添加日志记录。
  • profiling 添加了对 profiling 的支持。
  • vk-buffer-device-address 使用缓冲区设备地址 Vulkan 功能。主要在使用光线追踪扩展时有用。

tracingvk-buffer-device-address 默认启用。

示例

提供了示例。

三角形

显示如何使用 Vulkan 绘制三角形的简单示例。

Triangle example

立方体

展示如何使用推送常量、顶点索引缓冲区和压缩纹理。

Cube example

光线追踪

使用 VK_raytracing_KHR 扩展完全光线追踪简单场景。展示如何初始化和使用加速结构(基于三角形)、创建和使用着色器绑定表(SBT)、使用非均匀索引和部分绑定进行描述符索引,编写光线追踪着色器和进行非常基本的照明。

Raytracing example

计算

简单的计算示例。

许可证

许可协议为 MIT 或 Apache-2.0 或 ZLIB。

依赖项

~7–33MB
~498K SLoC