Motor de renderizado en tiempo real basado en física para Android, iOS, Linux, macOS, Windows y WebGL2, diseñado para ser pequeño y eficiente en Android.
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
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
OGRE es un motor de renderizado modular en C++ que abstrae Vulkan, Direct3D y OpenGL para crear aplicaciones 3D en C++ y Python.
Biblioteca granular de funciones para shaders en GLSL, HLSL, Metal, WGSL, WebGL y CUDA, con una función reutilizable en cada archivo.
Una biblioteca gráfica mínima en C++20 para Metal 4 y Vulkan 1.4 que sustituye los buffers y los descriptor sets por punteros de GPU y descriptor heaps.
Una biblioteca C sencilla para crear videojuegos, con gráficos 2D y 3D, entrada, audio y soporte multiplataforma, sin dependencias externas.
Stride es un motor de videojuegos multiplataforma, gratuito y de código abierto, escrito en C#, para renderizado realista y realidad virtual, con un editor visual llamado Game Studio.