基于 C++17 的跨平台 UI 框架,支持 GLFW/SDL2 窗口后端与 OpenGL/Vulkan 渲染后端。
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
通过 Gradle 依赖添加 Filament Android 库
implementation 'com.google.android.filament:filament-android:1.78.1' - 2
或通过 CocoaPods 添加 iOS 版本
pod 'Filament', '~> 1.78.1' - 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 数据每日更新。
相关项目
基于 Go 语言和 Vulkan 的 2D/3D 游戏引擎,内置编辑器。
一个用于在浏览器中构建和渲染 3D 场景的 JavaScript 库,基于 WebGL 与 WebGPU。
开源机器学习编译框架,支持用 Python 定制编译流程,并将模型部署到多种硬件平台。
一款 MIT 许可的开源 C++20 游戏引擎,基于 Vulkan、Metal 和 WebGPU 渲染,提供跨平台编辑器与浏览器版本。
一套 Claude Code 技能与插件集合,让 Claude 掌握 Three.js、GSAP、React Three Fiber 等 3D 与动效开发知识。