Repolode
bkaradzic

bkaradzic/bgfx

Direct3D、Metal、OpenGL、Vulkan、WebGLを抽象化し、独自のエンジンと組み合わせて使えるクロスプラットフォームのC++レンダリングライブラリ。

スター
17,626
フォーク
2,162
未解決の Issue
66
最終コミット
昨日

これは何?

bgfxは、アプリケーションとグラフィックスAPIの間に位置するレンダリングライブラリです。Direct3D 11/12、Metal、OpenGL、OpenGL ES、Vulkan、WebGLそれぞれに個別のコードを書く代わりに、開発者は共通のインターフェースを通じてドローコールを送信し、bgfxが対象プラットフォームで利用できるバックエンドへ振り分けます。「エンジンやフレームワークは自分で用意する」という方針で設計されており、シーン管理やアセットパイプラインを備えたフル機能のゲームエンジンではなく、レンダリングを担います。

Windows、Linux、macOS、iOS、tvOS、Android、Raspberry Piに加え、Emscripten経由のWebAssemblyをサポートしています。また、C#、Python、Rust、Zig、Java、Go、Luaなどの言語バインディングも提供しています。ライセンスはBSD-2-Clauseで、HARFANG 3Dフレームワークやゲーム『Crypt of the NecroDancer』など、リリース済みの複数のゲームやツールで利用されています。

主な機能

  • 01Direct3D 11/12、Metal、OpenGL、OpenGL ES、Vulkan、WebGLを対象にできる単一のAPI。
  • 02Wasm/Emscriptenを含む、デスクトップ、モバイル、コンソール向けライセンス環境、Webの各プラットフォームで動作。
  • 03C#、Python、Rust、Zig、Java、Go、Luaなどの言語バインディングを提供。
  • 04既存のエンジンやフレームワークを置き換えるのではなく、組み込んで使うことを前提に設計。
  • 05BSD-2-Clauseライセンスで提供。

ユースケース

  • 独自のゲームエンジンやアプリケーションフレームワークに、複数バックエンド対応のレンダリングを追加する。
  • デスクトップとモバイルの両方で動作する3Dツールや可視化アプリを開発する。
  • WebGLまたはWebAssemblyを使って、ブラウザ向けコンテンツにグラフィックスレイヤーを提供する。
  • 既存のbgfxバインディングがある言語で、レンダリングコードのプロトタイプを作成する。

クイックスタート

  1. 1

    お使いのプラットフォームとコンパイラに対応した公式ビルドガイドをお読みください

使う前に知っておきたいこと

  • これはレンダリングライブラリであり、フル機能のエンジンではないため、独自のエンジンまたはフレームワークが必要です。
  • GNMバックエンドは、ライセンスを取得したPS4開発者のみ利用できます。

収録されている特集

トピック

よくある質問

bgfx とは?
Direct3D、Metal、OpenGL、Vulkan、WebGLを抽象化し、独自のエンジンと組み合わせて使えるクロスプラットフォームのC++レンダリングライブラリ。 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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト