OSS TanbouSign in with GitHub

render real-time physically based 3D graphics across Android, iOS, desktop, and the web

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
20,560
Primary language
C++
License
Apache-2.0
Repository last updated
Oct 3, 2026
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]

Source builds require a relatively recent graphics toolchain

The 1.77.2 build manual requires CMake 3.22.1+, Clang 17+, and Ninja 1.10+, with additional Android requirements such as NDK 29+ and Java 21. The 1.77 line also includes a material change requiring recompilation.

Sources: [2][3]

Official sources

  1. [1]Filament 1.77.2 README(2026-10-04)
  2. [2]Filament 1.77.2 build manual(2026-10-04)
  3. [3]Filament 1.77.2 release(2026-10-04)
  4. [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. 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. 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. 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
Check the official README

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
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?