Filament is a physically based real-time rendering engine. The engine core is mainly developed using C++. Supported platforms include
Android, iOS, Linux, macOS, Windows, and WebGL. In particular, it has been well adapted to the Android platform.
Designed to be small but refined. As there are more and more usage scenarios for mobile development, the introduction of this series of textbooks mainly focuses on
An introduction to the Android platform, analyzing how to use the Filament engine for App development and development on the Android platform
points to note.
Filament is based on PBR rendering and currently supports a relatively comprehensive range of functions. Key support features include:
Clustered forward renderer
Cook-Torrance microfacet specular BRDF
Lambertian diffuse BRDF
Custom lighting/surface shading
HDR/linear lighting
Metallic workflow
Clear coat
Anisotropic lighting
Approximated translucent (subsurface) materials
Cloth/fabric/sheen shading
Normal mapping & ambient occlusion mapping
Image-based lighting
Physically-based camera (shutter speed, sensitivity and aperture)
Physical light units
Point lights, spot lights and directional light
Specular anti-aliasing
Spot and directional light shadows
Cascaded shadows
EVSM, PCSS, DPCF, or PCF shadows
Transparent shadows
Contact shadows
Screen-space ambient occlusion
Screen-space reflections
Screen-space refraction
Global fog
Dynamic resolution (with support for AMD FidelityFX FSR)
Post-processing support:
HDR bloom
Depth of field bokeh
Multiple tone mappers: generic (customizable), ACES, filmic, etc.
Color and tone management: luminance scaling, gamut mapping
Color grading: exposure, night adaptation, white balance, channel mixer,
shadows/mid-tones/highlights, ASC CDL, contrast, saturation, etc.
TAA, FXAA, MSAA
Screen-space lens flares
Support GLTF2.0:
Encodings
Embeded
Binary
Primitive Types
Points
Lines
Line Loop
Line Strip
Triangles
Triangle Strip
Triangle Fan
Animation
Transform animation
Linear interpolation
Morph animation
Sparse accessor
Skin animation
Joint animation
Extensions
KHR_draco_mesh_compression
KHR_lights_punctual
KHR_materials_clearcoat
KHR_materials_em