面向 Android、iOS、桌面端和 WebGL2 的实时物理渲染引擎,在 Android 上力求小巧高效。
bkaradzic/bgfx
一个跨平台 C++ 渲染库,统一封装 Direct3D、Metal、OpenGL、Vulkan 等图形 API,可接入自有引擎或框架。
- Star
- 17,616
- Fork
- 2,163
- 未关闭 Issue
- 66
- 最近提交
- 昨天
这是什么?
bgfx 是位于应用程序与图形 API 之间的渲染库。开发者无需为 Direct3D 11/12、Metal、OpenGL、OpenGL ES、Vulkan 和 WebGL 分别编写代码,而是通过统一接口提交绘制调用,由 bgfx 调度到目标平台可用的后端。它采用「自带引擎或框架」的设计思路,专注于渲染本身,不提供场景管理、资源流水线等完整游戏引擎功能。
该库支持 Windows、Linux、macOS、iOS、tvOS、Android、树莓派以及通过 Emscripten 编译的 WebAssembly,并提供 C#、Python、Rust、Zig、Java、Go、Lua 等语言的绑定。项目采用 BSD-2-Clause 许可证,已有多款游戏和工具在使用。
核心功能
- 01统一接口同时支持 Direct3D 11/12、Metal、OpenGL、OpenGL ES、Vulkan 和 WebGL。
- 02覆盖桌面、移动端、主机授权平台及 WebAssembly 等多个平台。
- 03提供 C#、Python、Rust、Zig、Java、Go、Lua 等语言的 API 绑定。
- 04作为渲染层嵌入已有引擎或框架,而非替代它们。
- 05采用 BSD-2-Clause 许可证。
适用场景
- 为自研游戏引擎或应用框架增加多图形后端渲染能力。
- 开发需要同时运行在桌面和移动端的 3D 工具或可视化应用。
- 通过 WebGL 或 WebAssembly 为浏览器端内容提供图形层。
- 在已有 bgfx 绑定的语言中快速验证渲染代码。
快速上手
- 1
阅读适用于你的平台和编译器的官方构建指南
使用前须知
- 它是渲染库而非完整引擎,你需要自带引擎或框架。
- GNM 后端仅供获得授权的 PS4 开发者使用。
收录于专题
标签
常见问题
- bgfx 是什么?
- 一个跨平台 C++ 渲染库,统一封装 Direct3D、Metal、OpenGL、Vulkan 等图形 API,可接入自有引擎或框架。 bgfx 是位于应用程序与图形 API 之间的渲染库。开发者无需为 Direct3D 11/12、Metal、OpenGL、OpenGL ES、Vulkan 和 WebGL 分别编写代码,而是通过统一接口提交绘制调用,由 bgfx 调度到目标平台可用的后端。它采用「自带引擎或框架」的设计思路,专注于渲染本身,不提供场景管理、资源流水线等完整游戏引擎功能。
- bgfx 可以免费使用吗?用的什么许可证?
- bgfx 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- bgfx 还在维护吗?
- 活跃维护中。bgfx 最近一次提交是在 2026年11月6日。
- bgfx 适合用来做什么?
- 为自研游戏引擎或应用框架增加多图形后端渲染能力。 开发需要同时运行在桌面和移动端的 3D 工具或可视化应用。 通过 WebGL 或 WebAssembly 为浏览器端内容提供图形层。 在已有 bgfx 绑定的语言中快速验证渲染代码。
- bgfx 怎么安装和运行?
- 阅读适用于你的平台和编译器的官方构建指南
- 在哪里获取 bgfx?
- 源代码和安装说明在 GitHub 上:https://github.com/bkaradzic/bgfx
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2.1万+30 本周2297C++Apache-2.0维护活跃更新于 18小时前
OGRE 是一个模块化的 C++ 渲染引擎,封装 Vulkan、Direct3D 和 OpenGL,用于构建 3D 应用。
4692+8 本周1044C++MIT维护活跃更新于 18小时前
基于 Metal 4 与 Vulkan 1.4 的极简 C++20 图形库,用 GPU 指针和描述符堆取代传统缓冲区与绑定模型。
169960C++MIT更新于 21小时前
一个简单易用的 C 语言游戏编程库,提供 2D/3D 图形、输入、音频等功能,无外部依赖。
3.6万+75 本周3376CZlib更新于 前天
Stride 是一款用 C# 编写的开源跨平台游戏引擎,支持写实渲染与 VR,并附带可视化编辑器 Game Studio。
7940+7 本周1186C#MIT更新于 18小时前