#后端 #内存 #gfx #外部 #图形 #OpenGL #Vulkan

external-memory

gfx-rs 后端使用的通用外部内存结构

1 个不稳定版本

0.0.1 2021 年 6 月 19 日

#44#gfx

Download history 281/week @ 2024-03-14 390/week @ 2024-03-21 409/week @ 2024-03-28 322/week @ 2024-04-04 396/week @ 2024-04-11 387/week @ 2024-04-18 376/week @ 2024-04-25 350/week @ 2024-05-02 358/week @ 2024-05-09 350/week @ 2024-05-16 327/week @ 2024-05-23 373/week @ 2024-05-30 270/week @ 2024-06-06 278/week @ 2024-06-13 335/week @ 2024-06-20 240/week @ 2024-06-27

1,174 每月下载量
用于 27 个 crates (通过 gfx-hal)

MIT/Apache

34KB
552

Matrix room gfx-hal on crates.io Build Status
入门指南 | 文档 | 博客 | 资助

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 的不安全 API,它转换为本地图形后端。
  • gfx-backend-*,它包含各种平台的图形后端
  • gfx-warden,这是一个数据驱动的参考测试框架,用于验证所有图形后端的一致性。

gfx-rs 很难使用,建议用于对性能敏感的库和引擎。如果这不是你的领域,请查看 wgpu-rs 以获取安全且简单的替代方案。

硬件抽象层

硬件抽象层(HAL)是一个薄层、低级别的图形和计算层,它将API调用翻译成各种后端,从而支持跨平台。该层的API基于Vulkan API,并进行了修改以更适应Rust。

Hardware Abstraction Layer (HAL)

目前HAL有Vulkan、DirectX 12/11、Metal、OpenGL/OpenGL ES/WebGL的后端。

HAL层直接被用户应用程序或库使用。HAL也被用于如gfx-portability等努力中。

有关关联,请参阅整体架构博客文章。

旧的gfx包(ll之前)

这个存储库最初是gfx包的家园,该包现在已弃用。您可以在本存储库的pre-ll分支中找到该包的代码的最新版本。

本存储库的master分支现在专注于开发gfx-hal及其关联的后端和辅助库,如上所述。gfx-halgfx的完全重写,但它不一定是gfx的直接继任者。相反,它服务于与原始的gfx包不同的目的,因为它比原始的更低级。因此,gfx-hal的原始名称是ll,代表“更低级”,而原始的gfx现在被称为pre-ll

原始gfx的精神继任者是wgpu,它处于与旧gfx包类似抽象级别,但具有更现代化的API,更适合在Vulkan/DX12/Metal上使用。如果您想要类似旧gfx包的、正在积极开发的项目,wgpu可能是您要找的,而不是gfx-hal

贡献

我们正在积极寻找新的贡献者,并致力于欢迎并帮助任何感兴趣的人!我们知道代码库一开始可能会因规模和深度而有些令人畏惧,为此,我们在问题跟踪器上有一个标签,标记了那些对新贡献者友好并且有基本完成方向的问题。如果您对这些问题的任何问题(或任何其他问题)有任何疑问,想要工作的,请在GitHub上评论或在我们的Matrix聊天中发消息!

许可

本存储库的许可协议为以下之一

由您选择。

除非您明确表示,否则,根据Apache-2.0许可证的定义,您有意提交以包含在作品中并由您提交的任何贡献,将按上述方式双重许可,不附加任何其他条款或条件。

依赖关系

~0.5–1.2MB
~27K SLoC