16个重大发布
使用旧的Rust 2015
0.19.1 | 2019年4月25日 |
---|---|
0.19.0 | 2019年3月11日 |
0.18.0 | 2019年2月12日 |
0.17.0 | 2018年11月13日 |
0.1.0 | 2016年3月22日 |
26 in #gfx
25 downloads per month
Used in 2 crates
300KB
6K SLoC
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等项目。
有关关联性,请参阅整体视图博客文章。
旧的gfx
存档(pre-ll)
此存储库最初是gfx
存档的家园,该存档现已弃用。您可以在本存储库的pre-ll
分支中找到该存档的最新代码。
此存储库的master分支现在专注于开发gfx-hal
及其关联的后端和辅助库,如上所述。gfx-hal
是gfx
的完整重写,但它不一定是gfx
的直接继任者。相反,它具有不同的用途,比原始的gfx
存档“更低级别”。因此,gfx-hal
的原名为ll
,代表“更低级别”,而原始的gfx
现在被称为pre-ll
。
原始gfx
的精神继任者是wgpu
,它与旧gfx
存档处于相同的抽象级别,但具有现代化的API,更适合用于Vulkan/DX12/Metal。如果您正在寻找类似旧gfx
存档且正在积极开发的替代品,那么wgpu
可能正是您要寻找的,而不是gfx-hal
。
贡献
我们正在积极寻找新的贡献者,并致力于欢迎和帮助任何有兴趣的人!我们知道代码库一开始可能会因为其规模和深度而有些令人生畏,为此我们在问题跟踪器上有一个标签,标记了适合新贡献者且在问题评论中提供了一些基本完成方向的议题。如果您对这些议题(或任何其他议题)有任何问题(或任何其他问题),请在GitHub上评论,或在我们的Matrix聊天中发消息!
许可证
此存储库的许可证为以下之一
- Apache许可证2.0版本(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
由您选择。
除非您明确声明,否则您根据Apache-2.0许可证定义的,旨在包含在作品中的任何贡献,都将根据上述条款双许可,不附加任何额外条款或条件。
依赖项
~2-12MB
~119K SLoC