explaingit

google/filament

Analysis updated 2026-06-21

20,056C++Audience · developerComplexity · 4/5Setup · moderate

TLDR

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.

Mindmap

mindmap
  root((Filament))
    Platforms
      Android iOS
      Windows Linux macOS
      Web WebGL WebGPU
    Rendering
      Physically based
      glTF 2.0 models
      Animations
    Post-processing
      Depth-of-field blur
      HDR bloom
      Ambient occlusion
    Languages
      C++ core
      Java bindings
      JavaScript bindings
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a 3D product viewer for an e-commerce Android or iOS app with physically realistic material rendering and lighting.

USE CASE 2

Add high-quality 3D rendering to a web app using Filament compiled to WebGL 2.0 or WebGPU, no native install needed.

USE CASE 3

Load and animate glTF 3D models across Android, iOS, desktop, and web from a shared C++ rendering codebase.

USE CASE 4

Apply post-processing effects, depth-of-field blur, HDR bloom, ambient occlusion, to a 3D scene without building a custom rendering pipeline.

What is it built with?

C++JavaJavaScriptWebGLWebGPU

How does it compare?

google/filamentk4yt3x/video2xcatchorg/catch2
Stars20,05619,88120,381
LanguageC++C++C++
Setup difficultymoderatemoderatemoderate
Complexity4/53/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Android integration is straightforward via Gradle, native desktop or web builds require compiling from source with CMake.

License information was not specified in the description.

In plain English

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.

Copy-paste prompts

Prompt 1
I am building an Android product viewer app. Show me how to add Filament as a Gradle dependency and render a glTF model with a directional light and PBR material.
Prompt 2
Help me set up Filament for a web app using WebGL 2.0, how do I load the WASM build, create a renderer, and display a glTF model in a canvas element.
Prompt 3
How do I add screen-space ambient occlusion and HDR bloom post-processing to a Filament scene on Android?
Prompt 4
Set up a multi-platform Filament project in C++ that renders the same glTF model on macOS, Windows, and Linux from a shared renderer class.
Prompt 5
How do I enable camera-based effects like depth-of-field and tone mapping in Filament to make a scene look cinematic?

Frequently asked questions

What is filament?

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.

What language is filament written in?

Mainly C++. The stack also includes C++, Java, JavaScript.

What license does filament use?

License information was not specified in the description.

How hard is filament to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is filament for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub google on gitmyhub

Verify against the repo before relying on details.