Engine de renderização em tempo real com base física para Android, iOS, Linux, macOS, Windows e WebGL2, projetada para ser pequena e eficiente no Android.
bkaradzic/bgfx
Biblioteca de renderização C++ multiplataforma que abstrai Direct3D, Metal, OpenGL, Vulkan e WebGL para você usar com seu próprio engine.
- Estrelas
- 17,626
- Forks
- 2,162
- Issues abertas
- 66
- Último commit
- há 23 horas
O que é?
bgfx é uma biblioteca de renderização que fica entre sua aplicação e a API gráfica. Em vez de escrever código separado para Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan e WebGL, os desenvolvedores enviam draw calls por uma única interface, e o bgfx as encaminha para o backend disponível na plataforma de destino. A biblioteca foi criada para a abordagem de “use seu próprio engine ou framework”: ela cuida da renderização, mas não oferece um game engine completo com gerenciamento de cenas ou pipeline de assets.
A biblioteca oferece suporte a Windows, Linux, macOS, iOS, tvOS, Android, Raspberry Pi e WebAssembly via Emscripten, além de disponibilizar bindings para linguagens como C#, Python, Rust, Zig, Java, Go e Lua. O projeto é licenciado sob BSD-2-Clause e é usado em vários jogos e ferramentas lançados, como o framework HARFANG 3D e o jogo Crypt of the NecroDancer.
Recursos principais
- 01Uma única API compatível com Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan e WebGL.
- 02Funciona em plataformas desktop, mobile, licenciadas para consoles e web, incluindo Wasm/Emscripten.
- 03Oferece bindings para C#, Python, Rust, Zig, Java, Go, Lua e outras linguagens.
- 04Projetada para ser integrada a engines ou frameworks existentes, em vez de substituí-los.
- 05Licenciada sob BSD-2-Clause.
Casos de uso
- Adicionar renderização com múltiplos backends a um game engine próprio ou framework de aplicações.
- Criar uma ferramenta 3D ou aplicação de visualização que precise funcionar tanto em desktop quanto em dispositivos mobile.
- Distribuir uma camada gráfica para conteúdo no navegador via WebGL ou WebAssembly.
- Prototipar código de renderização em uma linguagem que já tenha binding para bgfx.
Início rápido
- 1
Leia o guia oficial de compilação para sua plataforma e seu compilador
Antes de usar
- É uma biblioteca de renderização, não um mecanismo completo, então você precisa usar seu próprio mecanismo ou framework.
- O backend GNM está disponível apenas para desenvolvedores de PS4 licenciados.
Em coleções
Tópicos
Perguntas frequentes
- O que é bgfx?
- Biblioteca de renderização C++ multiplataforma que abstrai Direct3D, Metal, OpenGL, Vulkan e WebGL para você usar com seu próprio engine. bgfx é uma biblioteca de renderização que fica entre sua aplicação e a API gráfica. Em vez de escrever código separado para Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan e WebGL, os desenvolvedores enviam draw calls por uma única interface, e o bgfx as encaminha para o backend disponível na plataforma de destino. A biblioteca foi criada para a abordagem de “use seu próprio engine ou framework”: ela cuida da renderização, mas não oferece um game engine completo com gerenciamento de cenas ou pipeline de assets.
- bgfx é gratuito? Qual é a licença?
- bgfx é open source sob a licença BSD-2-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- bgfx ainda é mantido?
- Manutenção ativa. O último commit de bgfx foi em 6 de nov. de 2026.
- Para que posso usar bgfx?
- Adicionar renderização com múltiplos backends a um game engine próprio ou framework de aplicações. Criar uma ferramenta 3D ou aplicação de visualização que precise funcionar tanto em desktop quanto em dispositivos mobile. Distribuir uma camada gráfica para conteúdo no navegador via WebGL ou WebAssembly. Prototipar código de renderização em uma linguagem que já tenha binding para bgfx.
- Como instalar bgfx?
- Leia o guia oficial de compilação para sua plataforma e seu compilador
- Onde consigo bgfx?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/bkaradzic/bgfx
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
OGRE é um mecanismo de renderização modular em C++ que abstrai Vulkan, Direct3D e OpenGL para criar aplicações 3D em C++ e Python.
Uma biblioteca granular de funções de shader para GLSL, HLSL, Metal, WGSL, WebGL e CUDA, com uma função reutilizável em cada arquivo.
Biblioteca gráfica minimalista em C++20 para Metal 4 e Vulkan 1.4, que substitui buffers e descriptor sets por ponteiros de GPU e heaps de descritores.
Uma biblioteca C simples para criar videogames, com gráficos 2D/3D, entrada, áudio e suporte multiplataforma, sem dependências externas.
Stride é uma engine de jogos gratuita, de código aberto e multiplataforma, escrita em C#, para renderização realista e VR, com um editor visual chamado Game Studio.