Vibeleaderboard
Index / tool
Visit google.github.io
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
google
Latest release
v1.76.0
Date

About

Google's real-time physically-based rendering engine for Android, iOS, desktop, and WebGL2 — production-grade 3D graphics for apps.

What it does

Filament gives applications a low-level scene, camera, material, lighting, and frame-rendering pipeline. Developers assemble renderable entities, load compiled material packages, and target several graphics backends through C++, Android Java bindings, or JavaScript.

Why it's ranked here

The case rests on breadth with practical depth. One engine spans mobile, desktop, and browsers while covering advanced lighting, shadows, reflections, color grading, antialiasing, dynamic resolution, and extensive glTF support. Its documentation also explains the mathematics behind its rendering choices.

What's good

The rendering stack is unusually complete: physically based cameras and light units sit beside image-based lighting, multiple shadow methods, screen-space effects, fog, and rich post-processing. Android receives packaged loaders and utilities, while native and web users share broadly similar concepts.

Tradeoffs

Integration is hands-on. Native applications must manage engine, swap chain, renderer, view, scene, camera, entities, and frame boundaries. Materials and environment maps require preprocessing, and host tools must match the runtime release. The glTF loader omits line loops and triangle fans.

How to use it well

Choose Filament when graphics programmers need controlled, consistent rendering across mobile, desktop, and web targets. Build an asset pipeline around matched release tools, compiled materials, processed environments, and glTF assets. It does not replace native window management or the surrounding application framework.

Technical notes+

README.md describes the Engine, Renderer, SwapChain, View, Scene, and Camera lifecycle, with material blobs generated by matc; native samples use SDL2 support from libs/filamentapp/. Android examples live under android/samples, iOS examples under ios/samples, and environment assets require cmgen or libiblprefilter. docs/android/dokka/index.md lists the Android API packages. docs/toc.js exposes documentation sections for builds, tests, debugging, libraries, tools, iOS tutorials, and web samples.

Observed

Interfaces
Native C++ API, Android Java/JNI API, and JavaScript API
Platforms
Android, iOS, Linux, macOS, Windows, and WASM
Graphics backends
OpenGL, OpenGL ES, Metal, Vulkan, WebGPU, and WebGL 2.0
Packaging
Android libraries through Maven, iOS through CocoaPods, plus release archives with host tools
Asset interface
Includes a glTF 2.0 loader with animation, compression, lighting, and material extension support
Documentation structure
Repository documentation covers core concepts, tutorials, debugging, tests, libraries, and host-side tools

Read from README.md, docs/android/dokka/index.md, docs/toc.js, docs/book.js, docs/mark.min.js, docs/searcher.js, docs/highlight.js, docs/clipboard.min.js, docs/elasticlunr.min.js.

What it can do

  • Render 3D models with physically-based materials

    3D model data and material propertiesPhotorealistic rendered 3D graphics

  • Process real-time lighting and shadows

    3D scene data with light sourcesDynamic lighting effects and shadow rendering

  • Generate cross-platform 3D graphics

    3D scene descriptionRendered graphics for Android, iOS, desktop, and WebGL2

  • Apply material shaders and textures

    Material definitions and texture mapsShader-processed surface rendering

  • Perform real-time 3D scene rendering

    3D geometry and scene parametersLive interactive 3D graphics at 60+ FPS

  • Execute GPU-accelerated rendering pipeline

    3D rendering commands and resourcesHardware-optimized rendered frames

Tags

rendering3dgraphicspbrgoogle

Tech Stack

AssemblyBatchfileCC#C++CMakeCSSDockerfileEmacs LispGLSLGoGroovyHTMLHandlebarsJavaJavaScriptKotlinObjective-CObjective-C++PythonRenderScriptRubyShellTclTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.