At last, some good news for Android users! Google has finally decided to open-source its physically based 2D/3D rendering engine for Android: Filament. What are its technical characteristics? Its APIs? The answer is in this article.
What is Filament?
Filament was originally created to run natively on Android; that said, it is perfectly usable on other operating systems such as Windows, Linux and macOS. This rendering engine provides Android developers with a set of APIs to allow them to create high-quality 2D and 3D rendering more easily.
Another distinctive feature of Filament is that it is designed to generate compact code while requiring few resources. It is currently used in the Sceneform library when running on Android devices, but also as a rendering engine in Android Studio.
The technical characteristics
Here are Filament’s main technical features:
- A rendering system capable of running on mobile platforms.
- A rendering engine that focuses on the overall quality of the image. A physically based approach to the system also allows developers to create believable visuals without necessarily having to understand all the theory hidden behind it.
- The system relies on as few parameters as possible in order to reduce trial and error. It also allows users to master the material model quickly.
- It also uses a large number of physical units: distances in metres/centimetres, temperatures in kelvin, light units in lumens/candelas, and so on.
- The rendering library has been designed to be very light, so that any application can include it without increasing the binary size to an undesirable degree.
- Two APIs available on Android, Linux, macOS and Windows: a native C++ API and a Java/JNI API.
- A back-end section featuring OpenGL 4.1+ for Linux, macOS and Windows and OpenGL ES 3.0+ for Android, as well as version 1.0 of Vulkan for all operating systems.
Are you passionate about web development? Find all our articles on our blog or on our LinkedIn account.