Google has just open-sourced Filament, their physically based rendering (PBR) engine for Android. It can also be used in Windows, Linux, and macOS. Filament provides a set of tools and APIs for Android developers to help them easily create high-quality 2D and 3D rendering.
Filament is currently being used in the Sceneform library both at runtime on Android devices and as the renderer inside the Android Studio plugin. Apart from Filament, Google has also open sourced Materials, the full reference documentation for their material system. They have also made available Material Properties which is a reference sheet for the standard material model.
Google’s Filament comes packed with the following features:
- The rendering system is able to perform efficiently on mobile platforms. The primary target is OpenGL ES 3.x class GPUs.
- The rendering system emphasizes overall picture quality.
- Artists are able to iterate often and quickly on their assets and the rendering system allows them to do so instinctively.
- The physically based approach of the system also allows developers to create visually believable materials even if they don’t understand the theory behind the implementation.
- The system relies on as few parameters as possible to reduce trial and error and allows users to quickly master the material model.
- The system uses physical units everywhere possible: distances in meters or centimeters, color temperatures in Kelvin, light units in lumens or candelas, etc.
- The rendering library is as small as possible so any application can bundle it without increasing the binary to unwanted sizes.
There are two major APIs used.
- Native C++ API for Android, Linux, macOS, and Windows
- Java/JNI API for Android, Linux, macOS, and Windows
- OpenGL 4.1+ for Linux, macOS, and Windows
- OpenGL ES 3.0+ for Android
- Vulkan 1.0 for Android, Linux, macOS (with MoltenVk) and Windows
A sample material rendered with Filament.
You can check out the Filament Documentation, for an in-depth explanation of real-time PBR, the graphics capabilities and implementation of Filament.
Google open sources Seurat to bring high precision graphics to Mobile VR
Google releases Android Things library for Google Cloud IoT Core
Google updates biometric authentication for Android P, introduces BiometricPrompt API