23个重大版本发布
| 新 0.25.0 | 2024年8月23日 |
|---|---|
| 0.24.0 | 2024年7月20日 |
| 0.23.0 | 2024年3月29日 |
| 0.22.0 | 2023年9月15日 |
| 0.2.3 | 2020年11月24日 |
#431 在 图形API 中
每月558 次下载
在 3 个crate中(2个直接使用) 使用
2MB
48K SLoC
vulkanalia
Rust的Vulkan绑定。
在Apache License 2.0下发布。
深受ash crate的影响。
Vulkan教程
对于Vulkan的新用户,有https://tutorial.vulkan.net.cn的完整改编版本,由Alexander Overvoorde编写,使用Rust和vulkanalia而不是C++。该教程的发布版本可以在这里找到,该教程的源代码(包括每个章节的独立工作代码示例)在该仓库的tutorial目录中。
概述
vulkanalia-sys 包含从Vulkan API注册表生成的Vulkan类型和命令签名。如果您想使用原始Vulkan API并愿意自己处理函数加载,则可以使用此crate。
vulkanalia 在vulkanalia-sys周围提供了一个相当薄的包装,为您处理函数加载,并使Vulkan API的使用更加不易出错和更具Rust风格。有关vulkanalia如何包装Vulkan API的详细概述,请参阅Vulkan教程中“概述”章节的“API概念”部分,该部分可在这里找到。
Cargo功能
《vulkanalia》crate具有以下值得注意的非默认Cargo功能
libloading(非默认)- 允许与libloading集成(添加了LibloadingLoader结构体,可用于从Vulkan共享库中加载初始Vulkan命令)window(非默认)- 允许与raw-window-handle集成(添加了window模块,可用于从支持raw-window-handle的库(例如,winit)创建窗口的表面)provisional(非默认)- 允许访问临时Vulkan扩展(警告:这些扩展可能不具有向后兼容性,且不建议在生产应用程序中使用)
默认情况下,《vulkanalia-sys》和《vulkanalia》crate依赖于Rust标准库。然而,通过禁用这些crate的默认功能,您可以在no_std环境中使用这两个crate之一。如果您这样做,以下功能值得关注
no_std_error(非默认):在默认的std功能未启用的情况下,为《vulkanalia》和《vulkanalia-sys》中的各种错误类型实现Error特性(core中Error特性的使用尚未稳定,需要启用core-error功能)
示例
请参阅examples目录以查看使用《vulkanalia》实现的经典三角形示例。