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日 |
41 在 图形API 中排名
583 每月下载次数
用于 2 crates
6MB
154K SLoC
vulkanalia
Rust的Vulkan绑定。
基于Apache License 2.0发布。
深受ash
库的启发。
Vulkan教程
对于Vulkan的新用户,有https://vulkan-tutorial.com的完整适配版本,由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 Concepts
部分,该部分可在这里找到。
Cargo功能
vulkanalia
crate具有以下值得注意的非默认Cargo功能
libloading
(非默认) – 启用与libloading
的集成(添加了LibloadingLoader
结构,可以用于从Vulkan共享库中加载初始Vulkan命令)window
(非默认) - 启用与raw-window-handle
的集成(添加了window
模块,该模块可以用于从支持raw-window-handle
的库(例如,winit
)创建窗口的表面provisional
(非默认) - 启用访问 临时 Vulkan 扩展 (警告:这些扩展不一定向后兼容,并且不打算在生产应用程序中使用)
默认情况下,vulkanalia-sys
和 vulkanalia
软件包依赖于 Rust 标准库。但是,通过禁用这些软件包的默认功能,您可以在 no_std
环境中使用这两个软件包中的任何一个。如果您这样做,以下功能值得关注
no_std_error
(非默认):启用在默认的std
功能未启用时,vulkanalia
和vulkanalia-sys
中各种错误类型的Error
特性 的实现(core
中Error
特性的使用 尚未稳定,需要启用core-error
功能)
示例
请参阅 examples
目录,了解使用 vulkanalia
实现经典三角形示例的方法。
依赖项
~0–6MB
~12K SLoC