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 中排名

Download history 94/week @ 2024-05-04 75/week @ 2024-05-11 84/week @ 2024-05-18 140/week @ 2024-05-25 123/week @ 2024-06-01 63/week @ 2024-06-08 89/week @ 2024-06-15 106/week @ 2024-06-22 37/week @ 2024-06-29 40/week @ 2024-07-06 99/week @ 2024-07-13 168/week @ 2024-07-20 209/week @ 2024-07-27 70/week @ 2024-08-03 109/week @ 2024-08-10 188/week @ 2024-08-17

583 每月下载次数
用于 2 crates

Apache-2.0

6MB
154K SLoC

vulkanalia

Crate Documentation CI MSRV

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。

vulkanaliavulkanalia-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-sysvulkanalia 软件包依赖于 Rust 标准库。但是,通过禁用这些软件包的默认功能,您可以在 no_std 环境中使用这两个软件包中的任何一个。如果您这样做,以下功能值得关注

  • no_std_error非默认):启用在默认的 std 功能未启用时,vulkanaliavulkanalia-sys 中各种错误类型的 Error 特性 的实现(coreError 特性的使用 尚未稳定,需要启用 core-error 功能)

示例

请参阅 examples 目录,了解使用 vulkanalia 实现经典三角形示例的方法。

依赖项

~0–6MB
~12K SLoC