7 个版本

0.3.0 2022 年 7 月 22 日
0.2.1 2022 年 5 月 15 日
0.2.0 2021 年 9 月 21 日
0.1.3 2021 年 8 月 24 日

图形 API 中排名第 345

每月 29 次下载

MIT/Apache 许可

58KB
1.5K SLoC

法维拉:一组 Vulkan 实用工具

Documentation Crates.io

概述

favilla 为使用 ash 编写 Vulkan 代码提供了一些实用工具。

目标

favilla 的主要目标是提供 Vulkan 的常用功能,同时不干扰用户,让用户完全控制,并可以选择使用 favilla 的全部或部分功能。

例如,favilla 中的许多结构体提供了构造方法,这些方法做出某些假设,有助于减少样板代码。也可以直接构造这些结构体(通过 pub 字段),因此即使构造方法所做的假设不成立,也可以使用这些类型提供的实用方法。

favilla 尝试使入门变得容易,并以相对简单的方式针对最常见用例。
它不试图成为 Vulkan 的全面抽象。有时,无法绕过 favilla 所做的假设;在这种情况下,您的应用程序应直接使用 ash 来根据您的需求同步资源。
例如,当从阶段缓冲区上传数据到图像时,favilla 假设您的图像将由片段着色器使用,而不是由顶点着色器使用,并相应地设置用于同步的内存屏障中的阶段和掩码。
favilla 的源代码应有助于在您的应用程序中直接进行必要的调整。

许可证

许可协议

  • MIT 许可证
  • Apache 许可证 2.0

贡献

除非明确声明,否则所有贡献均假设采用与 favilla 相同的许可证(见上方)。

依赖关系

~6.5MB
~158K SLoC