# google/filament

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-filament).**

19,658 stars · 2,117 forks · C++ · apache-2.0

## Links

- GitHub: https://github.com/google/filament
- Homepage: https://google.github.io/filament/
- awesome-repositories: https://awesome-repositories.com/repository/google-filament.md

## Topics

`3d-graphics` `android` `gltf` `gltf-viewer` `graphics` `metal` `opengl` `opengl-es` `pbr` `real-time` `vulkan` `wasm` `webgl`

## Description

Filament is a real-time physically based rendering engine designed for high-fidelity 3D graphics. It functions as a cross-platform graphics library that provides a unified interface for rendering complex models and materials across desktop, mobile, and web environments.

The engine distinguishes itself through a data-oriented architecture that optimizes memory usage and processing speed, alongside a shader-variant system that generates specialized code for specific material and lighting configurations. By abstracting diverse hardware graphics backends, it ensures consistent visual performance and rendering behavior regardless of the underlying platform.

The framework supports a comprehensive 3D asset pipeline, enabling the import of standard interchange formats and the application of multi-pass post-processing effects. These capabilities allow for the simulation of realistic light interactions and cinematic visual styles within interactive applications.

## Tags

### Graphics & Multimedia

- [Physically Based Rendering Materials](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/materials-shading/physically-based-rendering-materials.md) — Provides a high-performance graphics library for rendering physically accurate 3D models and materials across desktop, mobile, and web platforms.
- [Cross-Platform Graphics Tooling](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/cross-platform-graphics-tooling.md) — Offers a unified rendering interface that abstracts hardware-accelerated backends to ensure consistent visual performance on diverse operating systems. ([source](https://google.github.io/filament/))
- [3D Visual Effects](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/mathematical-visualization-engines/3d-surface-visualizations/3d-visual-effects.md) — Provides a toolkit for importing and displaying complex 3D models and animations using standard interchange formats and cinematic post-processing.
- [Rendering Backends](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering/rendering-backends.md) — Abstracts underlying graphics interfaces into a unified system to compile and execute rendering code across diverse hardware platforms. ([source](https://google.github.io/filament/building.html))
- [Abstraction-Layer Rendering Backends](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/abstraction-layer-rendering-backends.md) — Provides a unified hardware interface layer that translates high-level rendering commands into platform-specific instructions for Vulkan, Metal, OpenGL, and WebGL.
- [Lighting Systems](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/lighting-systems.md) — Calculates light and material interactions using physically accurate models, lighting, and camera parameters to produce high-fidelity 3D visuals. ([source](https://google.github.io/filament/))
- [3D Graphics Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/3d-graphics-pipelines.md) — Integrates complex 3D models and animations from standard industry formats into the rendering pipeline.
- [Post-Processing Effects](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/post-processing-effects.md) — Enhances rendered images with cinematic effects like tone mapping and color grading to achieve specific visual styles. ([source](https://google.github.io/filament/))
- [Shader Permutation Generators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/shader-permutation-generators.md) — Generates specialized shader code at build-time for every combination of material properties and lighting conditions to ensure optimal GPU execution.

### Web Development

- [3D Asset Loaders](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/asset-loading-resolution/3d-asset-loaders.md) — Loads 3D models, animations, and material extensions from standard interchange formats to ensure compatibility with external content creation tools. ([source](https://google.github.io/filament/))

### Game Development

- [Entity Component Systems](https://awesome-repositories.com/f/game-development/engine-architecture/entity-component-systems.md) — Organizes rendering properties into contiguous memory blocks to optimize cache locality and processing speed during frame updates.
- [Command Buffers](https://awesome-repositories.com/f/game-development/engine-architecture/command-buffers.md) — Records rendering operations into a serialized command stream for asynchronous execution to maximize throughput on modern graphics hardware.
