Um framework de UI multiplataforma em C++17, com backends de janela GLFW/SDL2 e renderização OpenGL/Vulkan, baseado em uma DSL declarativa.
google/filament
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.
- Estrelas
- 20,637
- Forks
- 2,283
- Issues abertas
- 209
- Último commit
- há 4 horas
O que é?
Filament é uma engine de renderização em tempo real com base física (PBR), escrita em C++. Ela é compatível com Android, iOS, Linux, macOS, Windows e WebAssembly/WebGL2, com APIs para C++ nativo, Java/JNI no Android e JavaScript. Seus backends incluem OpenGL, OpenGL ES, Metal, Vulkan e WebGPU, permitindo que a mesma cena rode nas principais plataformas gráficas.
O renderizador usa uma arquitetura forward agrupada, com um modelo de materiais com base física que abrange o fluxo de trabalho metálico, clear coat, anisotropia, tecido e aproximações de subsuperfície. Ele inclui iluminação baseada em imagens, unidades físicas para câmeras e luzes, várias técnicas de sombras, reflexos e refração no espaço da tela e uma cadeia de pós-processamento com tone mappers, gradação de cores e antialiasing.
O projeto também inclui um carregador de glTF 2.0 (gltfio) com diversas extensões KHR e EXT, além de ferramentas para o host, como o compilador de materiais matc e o pré-processador de ambientes cmgen. Os materiais são compilados antecipadamente em pacotes binários que o runtime carrega.
Recursos principais
- 01APIs para C++ nativo, Java/JNI e JavaScript nas principais plataformas
- 02Vários backends, incluindo Vulkan, Metal, OpenGL ES e WebGPU
- 03Materiais com base física e shading de clear coat, anisotropia e tecido
- 04Sombras, reflexos e refração no espaço da tela e iluminação baseada em imagens
- 05Carregador integrado de glTF 2.0 com diversas extensões
Casos de uso
- Adicionar renderização 3D a um app ou jogo para Android com baixo consumo de recursos
- Criar visualizadores 3D multiplataforma em tempo real para modelos glTF
- Renderizar visualizações de produtos ou cenas no navegador usando WebGL2
- Experimentar técnicas de shading e renderização com base física
Início rápido
- 1
Adicione a biblioteca Filament Android como dependência do Gradle
implementation 'com.google.android.filament:filament-android:1.78.1' - 2
Ou adicione o pod do iOS via CocoaPods
pod 'Filament', '~> 1.78.1' - 3
Baixe as compilações estáveis e as ferramentas de host na página de versões ou compile a partir do código-fonte seguindo o manual de compilação
Antes de usar
- As compilações nativas de C++ exigem compilar a partir do código-fonte seguindo o manual de compilação separado.
- As ferramentas de lançamento, como matc, devem corresponder à versão da biblioteca de runtime.
Tópicos
Perguntas frequentes
- O que é filament?
- 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. Filament é uma engine de renderização em tempo real com base física (PBR), escrita em C++. Ela é compatível com Android, iOS, Linux, macOS, Windows e WebAssembly/WebGL2, com APIs para C++ nativo, Java/JNI no Android e JavaScript. Seus backends incluem OpenGL, OpenGL ES, Metal, Vulkan e WebGPU, permitindo que a mesma cena rode nas principais plataformas gráficas.
- filament é gratuito? Qual é a licença?
- filament é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- filament ainda é mantido?
- Manutenção ativa. O último commit de filament foi em 22 de out. de 2026.
- Para que posso usar filament?
- Adicionar renderização 3D a um app ou jogo para Android com baixo consumo de recursos Criar visualizadores 3D multiplataforma em tempo real para modelos glTF Renderizar visualizações de produtos ou cenas no navegador usando WebGL2 Experimentar técnicas de shading e renderização com base física
- Como instalar filament?
- Adicione a biblioteca Filament Android como dependência do Gradle: implementation 'com.google.android.filament:filament-android:1.78.1' Ou adicione o pod do iOS via CocoaPods: pod 'Filament', '~> 1.78.1' Baixe as compilações estáveis e as ferramentas de host na página de versões ou compile a partir do código-fonte seguindo o manual de compilação
- Onde consigo filament?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/filament
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma engine de jogos 2D/3D escrita em Go e baseada em Vulkan, com um editor integrado que é, ele próprio, um jogo executado na engine.
Uma biblioteca JavaScript 3D que facilita criar e renderizar cenas 3D no navegador com WebGL e WebGPU.
Framework aberto de compilação de machine learning que permite personalizar pipelines de compilação em Python e implantar modelos em diversos alvos de hardware.
Uma engine de jogos open source sob licença MIT, feita em C++20, com renderizador Vulkan/Metal/WebGPU, ECS, editor multiplataforma e build WebGPU para o navegador.
Coleção de skills e plugins para Claude Code que ensinam Claude a usar Three.js, GSAP, React Three Fiber, Framer Motion, Babylon.js e outras ferramentas de 3D e animação para a web.