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://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 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