Движок физически корректного рендеринга в реальном времени для Android, iOS, Linux, macOS, Windows и WebGL2, рассчитанный на компактность и эффективность на Android.
bkaradzic/bgfx
Кроссплатформенная библиотека рендеринга на C++, которая абстрагирует Direct3D, Metal, OpenGL, Vulkan и WebGL, чтобы вы могли использовать собственный движок.
- Звёзды
- 17,626
- Форки
- 2,162
- Открытые issues
- 66
- Последний коммит
- вчера
Что это?
bgfx — библиотека рендеринга, которая располагается между приложением и графическим API. Вместо того чтобы писать отдельный код для Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan и WebGL, разработчики отправляют вызовы отрисовки через единый интерфейс, а bgfx перенаправляет их в бэкенд, доступный на целевой платформе. Библиотека рассчитана на подход «используйте собственный движок или фреймворк»: она отвечает за рендеринг, но не предоставляет полноценный игровой движок с управлением сценами или конвейерами обработки ресурсов.
Библиотека поддерживает Windows, Linux, macOS, iOS, tvOS, Android, Raspberry Pi и WebAssembly через Emscripten. Также доступны биндинги для C#, Python, Rust, Zig, Java, Go и Lua. Проект распространяется по лицензии BSD-2-Clause и используется в нескольких выпущенных играх и инструментах, например во фреймворке HARFANG 3D и игре Crypt of the NecroDancer.
Ключевые возможности
- 01Единый API для Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan и WebGL.
- 02Работает на настольных, мобильных, консольных платформах с соответствующей лицензией и в вебе, включая Wasm/Emscripten.
- 03Предоставляет биндинги для C#, Python, Rust, Zig, Java, Go, Lua и других языков.
- 04Предназначена для встраивания в существующие движки и фреймворки, а не для их замены.
- 05Распространяется по лицензии BSD-2-Clause.
Сценарии использования
- Добавление поддержки нескольких графических бэкендов в собственный игровой движок или фреймворк приложений.
- Создание 3D-инструмента или приложения для визуализации, которое должно работать как на компьютерах, так и на мобильных устройствах.
- Создание графического слоя для контента в браузере через WebGL или WebAssembly.
- Прототипирование кода рендеринга на языке, для которого уже есть биндинги bgfx.
Быстрый старт
- 1
Прочитайте официальное руководство по сборке для вашей платформы и компилятора
Что важно знать
- Это библиотека для рендеринга, а не полноценный движок, поэтому вам понадобится собственный движок или фреймворк.
- Бэкенд GNM доступен только разработчикам PS4 с лицензией.
В подборках
Темы
Частые вопросы
- Что такое bgfx?
- Кроссплатформенная библиотека рендеринга на C++, которая абстрагирует Direct3D, Metal, OpenGL, Vulkan и WebGL, чтобы вы могли использовать собственный движок. bgfx — библиотека рендеринга, которая располагается между приложением и графическим API. Вместо того чтобы писать отдельный код для Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan и WebGL, разработчики отправляют вызовы отрисовки через единый интерфейс, а bgfx перенаправляет их в бэкенд, доступный на целевой платформе. Библиотека рассчитана на подход «используйте собственный движок или фреймворк»: она отвечает за рендеринг, но не предоставляет полноценный игровой движок с управлением сценами или конвейерами обработки ресурсов.
- bgfx можно использовать бесплатно? Какая у него лицензия?
- bgfx распространяется с открытым исходным кодом под лицензией BSD-2-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- bgfx всё ещё поддерживается?
- Активно поддерживается. Последний коммит в bgfx — 6 нояб. 2026 г..
- Для чего можно использовать bgfx?
- Добавление поддержки нескольких графических бэкендов в собственный игровой движок или фреймворк приложений. Создание 3D-инструмента или приложения для визуализации, которое должно работать как на компьютерах, так и на мобильных устройствах. Создание графического слоя для контента в браузере через WebGL или WebAssembly. Прототипирование кода рендеринга на языке, для которого уже есть биндинги bgfx.
- Как установить bgfx?
- Прочитайте официальное руководство по сборке для вашей платформы и компилятора
- Где скачать bgfx?
- Исходный код и инструкции по установке — на GitHub: https://github.com/bkaradzic/bgfx
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
OGRE — модульный движок рендеринга на C++, который объединяет Vulkan, Direct3D и OpenGL для создания 3D-приложений на C++ и Python.
Модульная библиотека шейдерных функций для GLSL, HLSL, Metal, WGSL, WebGL и CUDA: в каждом файле — одна функция для повторного использования.
Минималистичная графическая библиотека на C++20 для Metal 4 и Vulkan 1.4: вместо буферов и наборов дескрипторов используются GPU-указатели и кучи дескрипторов.
Простая C-библиотека для создания видеоигр: 2D/3D-графика, ввод, звук и кроссплатформенность без внешних зависимостей.
Stride — бесплатный кроссплатформенный игровой движок с открытым исходным кодом на C# для реалистичного рендеринга и VR, с визуальным редактором Game Studio.