# google/filament

Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2

Repository: https://github.com/google/filament
Canonical: https://ross.abutalabs.com/products/google-filament
Homepage: https://google.github.io/filament/
Language: C++
License: Apache-2.0
License Family: permissive
Topics: pbr, graphics, 3d-graphics, real-time, android, opengl, opengl-es, vulkan, webgl, wasm, metal, gltf, gltf-viewer
Last push: 2026-08-26T22:33:08+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 2952, "days_push": 7, "days_rel": 9, "gap_med": 7, "n_releases_24m": 78}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 20404, forks 2236 (observed 2026-08-28T04:11:30.092278+00:00)

## What it is
Filament is Google's real-time physically based rendering (PBR) engine written in C++, designed to be small and efficient, especially on Android. It supports OpenGL ES, Vulkan, Metal, and WebGL2/WASM backends and includes a glTF 2.0 loader and material compiler tooling.

## Use cases
- render 3D models with physically based shading in a mobile app
- display glTF 2.0 assets in an Android or iOS application
- build a real-time 3D viewer that runs in the browser via WebGL2
- integrate a lightweight PBR renderer into a cross-platform C++ project
- render 3D product visualizations on mobile with high performance
- compile custom PBR materials with a material compiler toolchain

## When to choose
- you need high-quality real-time PBR rendering on Android with a small footprint
- you want one rendering engine across mobile, desktop, and web (WASM)
- you need glTF 2.0 asset loading with a mature material system
- you prefer a C++ library with Java/Kotlin bindings via Maven

## When to avoid
- you need a full game engine with physics, audio, and scene management built in
- you want an easy high-level engine like Unity or Unreal rather than a rendering library
- your target platform lacks Vulkan, Metal, OpenGL ES, or WebGL2 support
- you need ray tracing or offline rendering rather than real-time rasterization

## Facets
- artifact type: library
- maturity: active
- function: graphics, game-engine, simulation
- domain: graphics, mobile-development, web-development, cross-platform
- platform: windows, wasm, cpp
- tags: pbr, rendering-engine, opengl, vulkan, metal, webgl, gltf, 3d-graphics, real-time-rendering, game-development, android, ios, linux, macos

## Member repositories
- google/filament (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:30.092278+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:58:51.791386+00:00, confidence not recorded.
  - readme: https://github.com/google/filament (fetched 2026-08-28T04:11:30.092278+00:00, sha bf6266c9dbed)
  - homepage: https://google.github.io/filament/ (fetched 2026-08-29T07:57:28.060474+00:00, sha 2e540b6995c9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
