Yet another video game engine has entered the market – this time by Google. Filament is written in C++, supports OpenGL 4.1-and-up, OpenGL ES 3.0-and-up, and Vulkan 1.0 on Android, Linux, macOS, and Windows.
It is also licensed under Apache 2.0, so it is completely open-source (with no copyleft).
On the plus side, it supports a lot of rendering features. The materials, like basically everyone else, use a PBR system, which abstracts lighting from material properties, allowing models to be shaded correctly in any lighting environment. Filament goes beyond that implementation, however, and claims to include things like anisotropic metals (think brushed steel) and clear coat effects. They even have a BRDF (the program that defines the outputs of your shader, where all your textures plug in to) for cloth rendering, including backward scattering.
On the negative side? Pages upon pages of documentation and I haven’t seen one screenshot of their editor, which doesn't telegraph the best message for their tools. I don’t have the toolchain set up on my computer to try it for myself, but I’m guessing that developer UX is lacking compared to the other engines. I do like that they chose to limit external dependencies, however. It just requires the standard library and a header-only library called “Robin-Map” for fast hash maps.
Google also tags a disclaimer at the bottom of their GitHub page: “This is not an officially supported Google product”. It’s free, though, so it might be worth checking out.