Repolode
google

google/filament

面向 Android、iOS、桌面端和 WebGL2 的实时物理渲染引擎,在 Android 上力求小巧高效。

Star
20,637
Fork
2,283
未关闭 Issue
209
最近提交
3小时前

这是什么?

Filament 是一个用 C++ 编写的实时基于物理的渲染(PBR)引擎,支持 Android、iOS、Linux、macOS、Windows 以及 WebAssembly/WebGL2。它提供原生 C++、Android 上的 Java/JNI 以及 JavaScript 接口,后端涵盖 OpenGL、OpenGL ES、Metal、Vulkan 和 WebGPU,同一场景可以跨主流图形平台运行。

渲染器采用 clustered forward 架构,材质模型包括金属工作流、清漆(clear coat)、各向异性、布料和次表面近似等。引擎还支持基于图像的光照、物理相机与光照单位、多种阴影技术、屏幕空间反射与折射,以及包含色调映射、调色和抗锯齿的后处理链。

项目还包含 glTF 2.0 加载器 gltfio,支持大量 KHR 与 EXT 扩展;同时提供材质编译器 matc、环境贴图预处理工具 cmgen 等主机端工具。材质在构建时预先编译为二进制包,由运行时加载。

核心功能

  • 01提供原生 C++、Java/JNI 与 JavaScript 接口,覆盖主流平台
  • 02支持 Vulkan、Metal、OpenGL ES、WebGPU 等多种后端
  • 03基于物理的材质模型,包含清漆、各向异性和布料着色
  • 04支持多种阴影技术、屏幕空间反射与折射以及基于图像的光照
  • 05内置 glTF 2.0 加载器,支持大量扩展

适用场景

  • 为 Android 应用或游戏添加轻量级 3D 渲染能力
  • 构建跨平台的实时 glTF 模型查看器
  • 通过 WebGL2 在浏览器中展示产品或场景
  • 学习和实验基于物理的着色与渲染技术

快速上手

  1. 1

    通过 Gradle 依赖添加 Filament Android 库

    implementation 'com.google.android.filament:filament-android:1.78.1'
  2. 2

    或通过 CocoaPods 添加 iOS 版本

    pod 'Filament', '~> 1.78.1'
  3. 3

    从发布页面下载稳定版本和主机工具,或参考构建手册自行编译

使用前须知

  • 原生 C++ 构建需要按照单独的构建手册从源码编译。
  • matc 等发布工具必须与运行时库版本一致。

标签

常见问题

filament 是什么?
面向 Android、iOS、桌面端和 WebGL2 的实时物理渲染引擎,在 Android 上力求小巧高效。 Filament 是一个用 C++ 编写的实时基于物理的渲染(PBR)引擎,支持 Android、iOS、Linux、macOS、Windows 以及 WebAssembly/WebGL2。它提供原生 C++、Android 上的 Java/JNI 以及 JavaScript 接口,后端涵盖 OpenGL、OpenGL ES、Metal、Vulkan 和 WebGPU,同一场景可以跨主流图形平台运行。
filament 可以免费使用吗?用的什么许可证?
filament 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
filament 还在维护吗?
活跃维护中。filament 最近一次提交是在 2026年10月22日。
filament 适合用来做什么?
为 Android 应用或游戏添加轻量级 3D 渲染能力 构建跨平台的实时 glTF 模型查看器 通过 WebGL2 在浏览器中展示产品或场景 学习和实验基于物理的着色与渲染技术
filament 怎么安装和运行?
通过 Gradle 依赖添加 Filament Android 库: implementation 'com.google.android.filament:filament-android:1.78.1' 或通过 CocoaPods 添加 iOS 版本: pod 'Filament', '~> 1.78.1' 从发布页面下载稳定版本和主机工具,或参考构建手册自行编译
在哪里获取 filament?
源代码和安装说明在 GitHub 上:https://github.com/google/filament

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目