bkaradzic/bgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 50 minutes ago
Added to GitGenius on June 21st, 2026
Created on April 4th, 2012
Open Issues & Pull Requests: 288 (+0)
Number of forks: 2,121
Total Stargazers: 17,389 (+0)
Total Subscribers: 465 (+0)

Issue Activity (beta)

Open issues: 42
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 799 days
Stale 30+ days: 40
Stale 90+ days: 35

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 2

Top labels

  • bug (42)
  • enhancement (5)
  • help needed (3)

Repository Insights (GitGenius)

Median issue/PR response: 6.9 hours
Mean response time: 151.9 days
90th percentile: 143.2 days
Tracked items: 130

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 95% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 8% of issues opened in the past year have been closed. Three people close 88% of everything that gets resolved.

Detailed Description

bgfx is a cross-platform rendering library written in C that abstracts away the underlying graphics API, allowing developers to write rendering code once and deploy it across multiple graphics backends. The library follows a "Bring Your Own Engine/Framework" philosophy, meaning it provides rendering capabilities without imposing a specific engine architecture or framework on users. This design makes it particularly suitable for developers who want fine-grained control over their rendering pipeline while maintaining cross-platform compatibility.

The library supports an extensive range of graphics APIs including Direct3D 11 and 12, Metal, OpenGL variants from 2.1 through ES 3.1, Vulkan, WebGL 1.0 and 2.0, and WebGPU through Dawn Native. This breadth of backend support enables developers to target virtually any modern graphics platform. Platform support is equally comprehensive, spanning Windows 7 and later, macOS 13.0 and above, iOS/iPadOS/tvOS 16.0 and above, Android 4.0 and later, Linux, PlayStation 4, UWP/Xbox One, Emscripten/WebAssembly, and even RaspberryPi. The library maintains compatibility with modern compiler toolchains including Clang 11 and above, GCC 11 and above, Visual Studio 2022 and above, and Apple Clang 12 and above.

Beyond the core C and C++ API, bgfx provides language bindings for numerous programming languages including Rust, Python, Go, Lua, Nim, Zig, Swift, Haskell, D, C#, C3, Beef, Pascal, and Java through LWJGL3. This extensive binding ecosystem allows developers to integrate bgfx into projects using their preferred language while maintaining access to the library's full feature set.

The repository shows active maintenance and community engagement.

The library's real-world adoption spans diverse applications including commercial games like AirMech Strike and Offroad Legends 2, game engines such as Crown and Torque6, specialized tools like cmftStudio for cubemap filtering, and even arcade machine emulation through MAME. Additional projects built with bgfx include REGoth, an open-source reimplementation of the Gothic game engine, and vg-renderer, a vector graphics renderer built on top of bgfx. This demonstrated adoption across games, engines, tools, and research projects validates bgfx's effectiveness as a graphics abstraction layer for production use.

bgfx
by
bkaradzicbkaradzic/bgfx

Repository Details

Fetching additional details & charts...