这个项目能做什么

Filament 是 Google 开发的实时基于物理的渲染(PBR)引擎,面向 Android、iOS、Linux、macOS、Windows 以及通过 WebGL 2.0/WASM 的 Web 平台。它被设计得小巧高效,尤其是在 Android 上,并以稳定发布归档的形式分发,其中包含运行时库和主机端资产工具。 语言绑定和 API: - 适用于 Android、iOS、Linux、macOS 和 Windows 的原生 C++ API - 适用于 Android 的 Java/JNI API - 适用于 Web 的 JavaScript API 图形后端包括 OpenGL 4.1+(桌面)、OpenGL ES 3.0+(移动)、Metal(macOS/iOS)、Vulkan 1.0、WebGPU 和 WebGL 2.0。 渲染能力涵盖集群前向渲染器、Cook-Torrance 镜面反射和 Lambertian 漫反射 BRDF、自定义光照/表面着色、HDR/线性光照、金属工作流、清漆层、各向异性光照、近似次表面/半透明材质、布料/光泽着色、法线和平滑环境光遮蔽贴图、基于图像的光照、基于物理的相机、物理光照单位、点光/聚光/方向光、镜面抗锯齿、各种阴影技术(PCF、DPCF、PCSS、EVSM、级联、接触、透明)、屏幕空间环境光遮蔽、反射和折射、全局雾,以及支持 AMD FidelityFX FSR 的动态分辨率。 后处理功能包括 HDR 泛光、景深散景、多种色调映射器(GT7、PBR Neutral、AgX、ACES、filmic、generic)、颜色/色调管理和分级、TAA/FXAA/MSAA 抗锯齿,以及屏幕空间镜头光晕。 该引擎包含一个 glTF 2.0 加载器,支持嵌入式和二进制编码、点/线/三角形图元、变换/变形/蒙皮/关节动画,以及许多扩展,例如 KHR_draco_mesh_compression、KHR_lights_punctual、KHR_materials_clearcoat、KHR_materials_transmission、KHR_materials_volume、KHR_texture_basisu、KHR_texture_transform 和 EXT_meshopt_compression。 材质通过由 `matc` 材质编译器编译的材质系统来创作,文档涵盖材质模型和自定义材质创作。该仓库还附带支持库和工具,包括用于生成基于图像的光照的 `cmgen`、用于网格转换的 `filamesh`、`mipgen`、`matinfo`、`matedit`、`glslminifier`、`resgen` 和 `libiblprefilter`。桌面、Android 和 iOS 的示例应用程序演示了引擎初始化、交换链创建、场景/视图/相机设置以及渲染循环。还提供了 CC0 纹理和环境贴图等资产,供入门使用。