bkaradzic/bgfx

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

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 42 minutes ago
Added to GitGenius on June 21st, 2026
Created on April 4th, 2012
Open Issues & Pull Requests: 286 (+0)
Number of forks: 2,119
Total Stargazers: 17,365 (+0)
Total Subscribers: 466 (+0)

Issue Activity (beta)

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

Recent activity

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

Top labels

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

Repository Insights (GitGenius)

Median issue/PR response: 1.2 hours
Mean response time: 28.7 days
90th percentile: 47.4 hours
Tracked items: 137

Most active contributors

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. According to GitGenius tracking data, the primary maintainer bkaradzic has logged 300 events, with additional significant contributions from mcourteaux (44 events) and belegdol (28 events). Issue and pull request response latency shows a median of 1.1 hours across 130 tracked items, indicating responsive project management. Bug reports constitute the most active issue category with 40 tracked items, followed by enhancement requests and help-needed issues. The project has attracted attention from developers across major technology ecosystems, with overlapping contributors linking it to microsoft/vscode, microsoft/typescript, and rust-lang/rust repositories.

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...