Filament 是一款基于物理的实时渲染引擎。引擎核心主要使用C++开发完成。支持平台包括
Android,IOS,Linux,macOS, Windows, and WebGL。尤其对Android平台做了较好的适配,
以小而精为设计目的。由于移动开发使用场景越来越多,本系列教材的介绍我们也主要围绕
Android平台展开介绍,分析如何在Android平台上使用Filament引擎进行App的开发以及开发中
的注意点。
Filament是基于PBR渲染的,目前支持的功能也较为全面。主要支持功能包括:
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)
后处理支持:
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
支持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