Repolode
bkaradzic

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