A real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2.
Filament is a real-time physically based rendering engine developed by Google for creating high-fidelity 3D graphics across Android, iOS, desktop, and web platforms. It solves the problem of achieving realistic lighting and materials in performance-sensitive applications, such as mobile games and interactive 3D experiences, by providing an efficient, cross-platform solution.
Graphics programmers and developers building real-time 3D applications for mobile (Android/iOS), desktop, or the web who need a performant, physically based rendering pipeline.
Developers choose Filament for its emphasis on efficiency and small binary size, especially on Android, its support for multiple rendering backends (Vulkan, Metal, OpenGL), and its comprehensive, production-ready feature set for PBR, all backed by extensive documentation.
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Prioritizes small binary size and high performance, especially on Android, as emphasized in the philosophy, making it ideal for resource-constrained mobile applications.
Implements clustered forward rendering, Cook-Torrance BRDF, and supports complex materials like clear coat and subsurface scattering, enabling realistic lighting and materials out of the box.
Renders via OpenGL, Vulkan, Metal, WebGPU, and WebGL 2.0, ensuring broad compatibility across Android, iOS, desktop, and web platforms, as listed in the features.
Includes tools like matc for runtime material compilation and cmgen for image-based lighting generation, facilitating a robust asset pipeline, though version matching is required.
Building from source requires following a detailed manual (BUILDING.md), and tools like matc must match runtime library versions, adding overhead and potential for errors.
Lacks integrated visual editors or scene builders; developers must handle asset preparation, material authoring, and integration manually via code, as seen in the native API examples.
Has a smaller community and fewer third-party resources compared to larger engines like Unity or Unreal, which can affect support, tutorials, and plugin availability.
Protocol Buffers - Google's data interchange format
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
JSON for Modern C++
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.