filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
A real-time 3D rendering engine by Google for Android, iOS, web, and desktop that delivers photorealistic lighting, shadows, and materials without writing low-level graphics code.
Filament is a real-time 3D rendering engine built by Google that lets developers add high-quality, physically realistic graphics to apps on Android, iOS, Windows, Linux, macOS, and even inside web browsers. The problem it addresses is that rendering 3D scenes that look convincingly real — with accurate lighting, shadows, reflections, and material textures — is extremely complex, and building that from scratch is beyond most development teams. Filament packages all of that capability into a reusable library that is specifically optimized to run efficiently on mobile devices, especially Android.
The "physically based rendering" approach it uses means that light behaves in the engine the same way it does in the real world: metal surfaces reflect differently than cloth, objects cast proper shadows, and camera settings like shutter speed and aperture affect how the image looks, just as with a real camera. Filament supports loading 3D models in the glTF 2.0 format — a widely used open standard for 3D assets — with full support for animations, materials, and mesh compression.
Developers working on Android can add Filament to their project as a standard dependency in just a few lines. iOS projects can install it via CocoaPods. For web projects, Filament compiles to WebGL 2.0 and WebGPU. The engine also ships with post-processing effects like depth-of-field blur, screen-space reflections, ambient occlusion, HDR bloom, and a range of tone mapping and color grading options.
You would reach for Filament when building a 3D product viewer, a game, an AR experience, or any app that needs photorealistic rendering across multiple platforms without writing low-level graphics code. The engine is written in C++ with additional bindings for Java and JavaScript.
Where it fits
- Build a 3D product viewer for an e-commerce Android or iOS app with physically realistic material rendering and lighting.
- Add high-quality 3D rendering to a web app using Filament compiled to WebGL 2.0 or WebGPU, no native install needed.
- Load and animate glTF 3D models across Android, iOS, desktop, and web from a shared C++ rendering codebase.
- Apply post-processing effects, depth-of-field blur, HDR bloom, ambient occlusion, to a 3D scene without building a custom rendering pipeline.