Framework de UI multiplataforma en C++17, con backends de ventana GLFW/SDL2 y renderizado OpenGL/Vulkan, basado en un DSL declarativo.
google/filament
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.
- Estrellas
- 20,637
- Forks
- 2,283
- Issues abiertos
- 209
- Último commit
- hace 4 horas
¿Qué es?
Filament es un motor de renderizado en tiempo real basado en física (PBR), escrito en C++. Está pensado para Android, iOS, Linux, macOS, Windows y WebAssembly/WebGL2, y ofrece APIs para C++ nativo, Java/JNI en Android y JavaScript. Sus backends incluyen OpenGL, OpenGL ES, Metal, Vulkan y WebGPU, por lo que una misma escena puede ejecutarse en la mayoría de las plataformas gráficas más utilizadas.
El renderizador utiliza una arquitectura forward por clústeres y un modelo de materiales basado en física que abarca el flujo de trabajo metálico, clear coat, anisotropía, telas y aproximaciones de dispersión subsuperficial. Incluye iluminación basada en imágenes, unidades físicas para cámaras y luces, diversas técnicas de sombras, reflejos y refracción en espacio de pantalla, y una cadena de posprocesamiento con mapeadores de tonos, gradación de color y antialiasing.
El proyecto también incluye un cargador de glTF 2.0 (gltfio) compatible con muchas extensiones KHR y EXT, además de herramientas de host como el compilador de materiales matc y el preprocesador de entornos cmgen. Los materiales se compilan previamente en paquetes binarios que carga el runtime.
Funciones clave
- 01APIs de C++ nativo, Java/JNI y JavaScript para las principales plataformas
- 02Varios backends, incluidos Vulkan, Metal, OpenGL ES y WebGPU
- 03Materiales basados en física con clear coat, anisotropía y sombreado de telas
- 04Sombras, reflejos y refracción en espacio de pantalla e iluminación basada en imágenes
- 05Cargador integrado de glTF 2.0 compatible con numerosas extensiones
Casos de uso
- Añadir renderizado 3D a una aplicación o juego de Android con una huella reducida
- Crear visores 3D multiplataforma en tiempo real para modelos glTF
- Renderizar visualizaciones de productos o escenas en un navegador mediante WebGL2
- Experimentar con técnicas de sombreado y renderizado basadas en física
Inicio rápido
- 1
Añade la biblioteca Filament Android como dependencia de Gradle
implementation 'com.google.android.filament:filament-android:1.78.1' - 2
O añade el pod de iOS mediante CocoaPods
pod 'Filament', '~> 1.78.1' - 3
Descarga las compilaciones estables y las herramientas de host desde la página de versiones, o compila desde el código fuente siguiendo el manual de compilación
Antes de usarlo
- Las compilaciones nativas de C++ requieren compilar desde el código fuente siguiendo el manual de compilación independiente.
- Las herramientas de las versiones, como matc, deben coincidir con la versión de la biblioteca de tiempo de ejecución.
Temas
Preguntas frecuentes
- ¿Qué es filament?
- 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. Filament es un motor de renderizado en tiempo real basado en física (PBR), escrito en C++. Está pensado para Android, iOS, Linux, macOS, Windows y WebAssembly/WebGL2, y ofrece APIs para C++ nativo, Java/JNI en Android y JavaScript. Sus backends incluyen OpenGL, OpenGL ES, Metal, Vulkan y WebGPU, por lo que una misma escena puede ejecutarse en la mayoría de las plataformas gráficas más utilizadas.
- ¿filament es gratuito? ¿Qué licencia tiene?
- filament es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿filament sigue mantenido?
- Mantenimiento activo. El último commit de filament fue el 22 oct 2026.
- ¿Para qué puedo usar filament?
- Añadir renderizado 3D a una aplicación o juego de Android con una huella reducida Crear visores 3D multiplataforma en tiempo real para modelos glTF Renderizar visualizaciones de productos o escenas en un navegador mediante WebGL2 Experimentar con técnicas de sombreado y renderizado basadas en física
- ¿Cómo se instala filament?
- Añade la biblioteca Filament Android como dependencia de Gradle: implementation 'com.google.android.filament:filament-android:1.78.1' O añade el pod de iOS mediante CocoaPods: pod 'Filament', '~> 1.78.1' Descarga las compilaciones estables y las herramientas de host desde la página de versiones, o compila desde el código fuente siguiendo el manual de compilación
- ¿Dónde consigo filament?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/google/filament
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor de videojuegos 2D/3D escrito en Go sobre Vulkan, con un editor integrado que también es un juego ejecutado en el motor.
Una biblioteca 3D de JavaScript que facilita crear y renderizar escenas 3D en el navegador con WebGL y WebGPU.
Un framework abierto de compilación de machine learning que permite personalizar pipelines de compilación en Python y desplegar modelos en distintos tipos de hardware.
Motor de videojuegos de código abierto con licencia MIT, escrito en C++20, con renderizador para Vulkan/Metal/WebGPU, ECS, editor multiplataforma y compilación WebGPU para el navegador.
Colección de skills y plugins para Claude Code que le enseñan a Claude sobre Three.js, GSAP, React Three Fiber, Framer Motion, Babylon.js y otras herramientas de animación y 3D web.