1个不稳定版本
0.1.0 | 2021年6月19日 |
---|
#2 in #renderdoc
1,013 每月下载量
用于 3 crate
6KB
105 行
gfx-rs
gfx-rs是一个基于Rust的低级、跨平台图形和计算抽象库。它由以下组件组成
gfx-hal弃用
自v0.9版本发布以来,gfx-hal现在处于维护模式。gfx-hal的开发主要是由wgpu驱动的,wgpu已经切换到其自己的GPU抽象wgpu-hal。因此,gfx-hal的开发已切换到仅维护,直到开发者解决gfx-portability的问题。有关过渡的更多信息,请参阅#3768。
hal
gfx-hal
,即gfx的硬件抽象层:一个主要用于将到本地图形后端转换的Vulkan-ic不安全API。gfx-backend-*
,包含各种平台的图形后端- Vulkan(在Linux、Windows和Android上运行)
- DirectX 12和DirectX 11
- Metal(在macOS和iOS上运行)
- OpenGL ES3(在Linux/BSD、Android、WASM和WebGL2上运行)
gfx-warden
,是一个数据驱动的参考测试框架,用于验证所有图形后端之间的一致性。
gfx-rs 难以使用,推荐用于对性能敏感的库和引擎。如果您不在这一领域,请查看 wgpu-rs 以获得一个安全且简单的替代方案。
硬件抽象层
硬件抽象层(HAL)是一个薄薄的、低级的图形和计算层,它将API调用转换为各种后端,从而实现跨平台支持。此层的API基于Vulkan API,并进行了适应,使其更符合Rust风格。
目前HAL支持Vulkan、DirectX 12/11、Metal以及OpenGL/OpenGL ES/WebGL的后端。
HAL层直接被用户应用程序或库使用。HAL也被用于如 gfx-portability 这样的项目中。
有关联接,请参阅 Big Picture 博客文章。
旧的 gfx
包
这个仓库最初是 gfx
包的家园,现在已经弃用。您可以在该仓库的 pre-ll
分支中找到该包的代码的最新版本。
这个仓库的主分支现在专注于开发 gfx-hal
及其相关的后端和辅助库,如上所述。《code>gfx-hal 是对 gfx
的完全重写,但它不一定是 gfx
的直接后继者。相反,它服务于与原始 gfx
包不同的目的,因为它的级别比原始的更低。因此,《code>gfx-hal 的原名是 ll
,代表“低级”,而原始的 gfx
现在被称为 pre-ll
。
原始 gfx
的精神后继者是 wgpu
,它在抽象级别上与旧的 gfx
包相似,但具有现代化的API,更适合用于Vulkan/DX12/Metal。如果您想要类似旧的 gfx
包且正在积极开发的项目,那么 wgpu
可能是您要找的,而不是 gfx-hal
。
贡献
我们正在积极寻找新的贡献者,并致力于欢迎和帮助任何有兴趣的人!我们知道代码库在开始时可能会因为其大小和深度而显得有些令人畏惧,为此,我们在问题跟踪器上有一个 标签,标记了那些对新贡献者友好且在问题评论中有一些基本完成方向的议题。如果您对任何这些问题(或任何其他问题)有任何疑问,并希望对其进行工作,请评论GitHub,或在我们的 Matrix聊天 上发信息!
许可
此仓库根据以下之一进行许可:
- Apache License,版本 2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在本作品中的任何贡献,都应如上所述双许可,而不附加任何额外的条款或条件。
lib.rs
:
RenderDoc集成 - https://renderdoc.org/
依赖项
~175–385KB