About this project
bgfx is a cross-platform rendering library designed to be graphics API agnostic, following a "Bring Your Own Engine/Framework" philosophy. It provides a unified API that abstracts over various graphics backends, allowing developers to write rendering code once and run it on multiple platforms without being locked into a specific graphics API.
**Supported rendering backends:**
- Direct3D 11
- Direct3D 12
- GNM (for licensed PS4 developers)
- Metal
- OpenGL 4.3+
- OpenGL ES 3.0+
- Vulkan
- WebGL 2.0
- WebGPU (Dawn Native only)
**Supported platforms:**
- Android (4.0+, API 14 or later)
- iOS/iPadOS/tvOS (16.0+)
- Linux
- macOS (13.0+)
- PlayStation 4
- RaspberryPi
- UWP (Universal Windows, Xbox One)
- Wasm/Emscripten
- Windows (7+)
**Supported compilers:**
- Clang 11 and above
- GCC 11 and above
- VS2022 and above
- Apple clang 12 and above
**Language bindings:**
bgfx offers official and community bindings for multiple languages, including C/C++, C#, Python, D, Go, Haskell, Java (via LWJGL), Lua, Nim, Pascal, Rust, Swift, and Zig. This makes it accessible to a wide range of developers.
**Who is using it?**
bgfx is widely adopted in the industry and open-source community. Notable users include:
- **Games:** AirMech, Offroad Legends 2, Zombie Safari, Smith and Winston, Football Manager 2018, Heroes of Hammerwatch, Minecraft (for some platforms), Guild Wars 2, Griftlands, WARCANA, and many more.
- **Engines and tools:** Crown, Torque6, CETech, ioquake3 (renderer), Ethereal Engine, NeoAxis Engine, Babylon Native, HARFANG 3D, and more.
- **Other applications:** MAME (emulator), cmftStudio (cubemap tool), Kepler Orbits, Nira (3D model rendering), and various demoscene projects.
The library is actively maintained, with a strong community on Discord and GitHub Discussions. It is licensed under the BSD 2-clause license, making it permissive for both open-source and commercial use.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.