Repolode
bkaradzic

bkaradzic/bgfx

Una biblioteca de renderizado C++ multiplataforma que abstrae Direct3D, Metal, OpenGL, Vulkan y WebGL para que puedas integrarla en tu propio motor.

Estrellas
17,616
Forks
2,163
Issues abiertos
66
Último commit
hace 11 horas

¿Qué es?

bgfx es una biblioteca de renderizado que se sitúa entre tu aplicación y la API de gráficos. En lugar de escribir código por separado para Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan y WebGL, los desarrolladores envían llamadas de dibujo a través de una única interfaz y bgfx las dirige al backend disponible en la plataforma de destino. Está diseñada para el enfoque de «usa tu propio motor o framework», por lo que se encarga del renderizado, en lugar de ofrecer un motor de videojuegos completo con gestión de escenas o pipelines de recursos.

La biblioteca es compatible con Windows, Linux, macOS, iOS, tvOS, Android, Raspberry Pi y WebAssembly mediante Emscripten, y ofrece bindings para lenguajes como C#, Python, Rust, Zig, Java, Go y Lua. El proyecto usa la licencia BSD-2-Clause y se utiliza en varios juegos y herramientas publicados, como el framework HARFANG 3D y el juego Crypt of the NecroDancer.

Funciones clave

  • 01Una sola API compatible con Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan y WebGL.
  • 02Funciona en plataformas de escritorio, móviles, consolas con licencia y web, incluidas Wasm/Emscripten.
  • 03Ofrece bindings para C#, Python, Rust, Zig, Java, Go, Lua y otros lenguajes.
  • 04Diseñada para integrarse en motores o frameworks existentes, no para reemplazarlos.
  • 05Licencia BSD-2-Clause.

Casos de uso

  • Añadir renderizado con varios backends a un motor de videojuegos personalizado o a un framework de aplicaciones.
  • Crear una herramienta 3D o una aplicación de visualización que deba funcionar tanto en escritorio como en móviles.
  • Distribuir una capa de gráficos para contenido basado en navegador mediante WebGL o WebAssembly.
  • Prototipar código de renderizado en un lenguaje que ya tenga un binding de bgfx.

Inicio rápido

  1. 1

    Lee la guía oficial de compilación para tu plataforma y compilador

Antes de usarlo

  • Es una biblioteca de renderizado, no un motor completo, así que debes usar tu propio motor o framework.
  • El backend GNM solo está disponible para desarrolladores de PS4 con licencia.

En colecciones

Temas

Preguntas frecuentes

¿Qué es bgfx?
Una biblioteca de renderizado C++ multiplataforma que abstrae Direct3D, Metal, OpenGL, Vulkan y WebGL para que puedas integrarla en tu propio motor. bgfx es una biblioteca de renderizado que se sitúa entre tu aplicación y la API de gráficos. En lugar de escribir código por separado para Direct3D 11/12, Metal, OpenGL, OpenGL ES, Vulkan y WebGL, los desarrolladores envían llamadas de dibujo a través de una única interfaz y bgfx las dirige al backend disponible en la plataforma de destino. Está diseñada para el enfoque de «usa tu propio motor o framework», por lo que se encarga del renderizado, en lugar de ofrecer un motor de videojuegos completo con gestión de escenas o pipelines de recursos.
¿bgfx es gratuito? ¿Qué licencia tiene?
bgfx es open source bajo la licencia BSD-2-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿bgfx sigue mantenido?
Mantenimiento activo. El último commit de bgfx fue el 6 nov 2026.
¿Para qué puedo usar bgfx?
Añadir renderizado con varios backends a un motor de videojuegos personalizado o a un framework de aplicaciones. Crear una herramienta 3D o una aplicación de visualización que deba funcionar tanto en escritorio como en móviles. Distribuir una capa de gráficos para contenido basado en navegador mediante WebGL o WebAssembly. Prototipar código de renderizado en un lenguaje que ya tenga un binding de bgfx.
¿Cómo se instala bgfx?
Lee la guía oficial de compilación para tu plataforma y compilador
¿Dónde consigo bgfx?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/bkaradzic/bgfx

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados