On this page
Overview
Filament is a compact, efficient real-time physically based rendering engine designed with Android in mind and available across Android, iOS, desktop, and Web. It combines C++/Java/JNI/JavaScript APIs with OpenGL, Metal, Vulkan, WebGPU, WebGL 2.0, glTF 2.0, and an offline material compiler.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Use an integrated PBR renderer with camera, lighting, materials, and post-processing
Filament includes clustered forward rendering, Cook-Torrance BRDFs, HDR and image-based lighting, shadows, fog, SSR/SSAO, antialiasing, and extensive color grading.
Sources: [1]
Target Android, iOS, Linux, macOS, Windows, and Web across multiple graphics APIs
Native C++, Android Java/JNI, and JavaScript APIs are paired with OpenGL/ES, Metal, Vulkan, WebGPU, and WebGL 2.0 back ends depending on the platform.
Sources: [1]
Load glTF 2.0 assets and compile custom materials with matc
The engine supports glTF 2.0 plus many extensions, while custom materials are compiled into binary packages using the matc host tool before runtime use.
Sources: [1]
Best fit
Fits 3D applications that want a shared PBR rendering core across mobile, desktop, and Web
It is useful for viewers, AR/3D applications, product visualization, and custom engines that need a cross-platform real-time renderer.
Sources: [1]
Before adoption
Keep host-side asset tools and runtime libraries on the same release
The README says release host tools, especially matc, should match the runtime library release. Do not assume material binary compatibility across releases.
Sources: [1]
Official sources
- [1]Filament 1.77.2 README(2026-10-04)
- [2]Filament 1.77.2 build manual(2026-10-04)
- [3]Filament 1.77.2 release(2026-10-04)
- [4]Filament Apache 2.0 license(2026-10-04)
Supplemental curator note
Keep runtime libraries and host-side tools, especially matc, on the same release. The 1.77 line includes a material change requiring recompilation, so avoid swapping only the runtime binaries.
Try it in 3 steps
- 1
Fetch the Filament v1.77.2 source
Pin the stable release so runtime and asset-tool versions stay aligned.
git clone --depth 1 --branch v1.77.2 https://github.com/google/filament.git filament-1.77.2 - 2
Configure a Release build without samples or tests
Generate the build graph with CMake 3.22.1+, Clang 17+, and Ninja 1.10+.
CC=clang CXX=clang++ cmake -G Ninja -S filament-1.77.2 -B filament-1.77.2/out/quick -DCMAKE_BUILD_TYPE=Release -DFILAMENT_SKIP_SAMPLES=ON -DFILAMENT_BUILD_TESTING=OFF - 3
Build only the core Filament renderer target
Compile the core renderer without installing it system-wide or launching samples.
cmake --build filament-1.77.2/out/quick --target filament -j2
Growth
Growth trends · Last 30 days
20,560 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 122
- Open PRs
- 27
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- pbr
- graphics
- 3d-graphics
- real-time
- android
- opengl
- opengl-es
- vulkan
- webgl
- wasm
- metal
- gltf
- Stars
- 20,560
- Forks
- 2,271
- Watchers
- 382
- Open issues
- 194
- Contributors
- 232
- Owner type
- Organization
- Primary language
- C++
- License
- Apache-2.0
- Repository last updated
- Oct 3, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Babylon.js26,127 Stars
3 shared tag(s) · 1 shared category(s)
render interactive 3D scenes, games, and XR experiences in browsers through TypeScript or JavaScript with WebGL and WebGPU
TypeScript - Blender20,668 Stars
3 shared tag(s) · Same language
Unify modeling, rigging, animation, simulation, rendering, compositing, and video editing in one 3D creation suite
C++ - Organic Maps15,565 Stars
3 shared tag(s) · Same language
Download OpenStreetMap data for offline search and privacy-first navigation
C++ - CoMaps565 Stars
3 shared tag(s) · Same language
Save maps for offline place search and walking, cycling, and driving navigation
C++ - Assimp13,242 Stars
2 shared tag(s) · 1 shared category(s) · Same language
load 40+ 3D formats into a shared scene structure and integrate conversion and post-processing into asset pipelines
C++ - Flutter179,318 Stars
2 shared tag(s) · 1 shared category(s)
build mobile, web, and desktop UI from one Dart codebase
Dart
Report incorrect information
Tell us if any listing information is incorrect or outdated.