宣言的DSLを中心に構成された、GLFW/SDL2のウィンドウバックエンドとOpenGL/Vulkan描画に対応するクロスプラットフォームC++17 UIフレームワーク。
google/filament
Androidでの軽量・高効率な動作を重視して設計された、Android、iOS、Linux、macOS、Windows、WebGL2対応のリアルタイム物理ベースレンダリングエンジン。
- スター
- 20,637
- フォーク
- 2,283
- 未解決の Issue
- 209
- 最終コミット
- 4 時間前
これは何?
Filamentは、C++で書かれたリアルタイム物理ベースレンダリング(PBR)エンジンです。Android、iOS、Linux、macOS、Windows、WebAssembly/WebGL2を対象としており、ネイティブC++、Android向けJava/JNI、JavaScriptのAPIを提供します。バックエンドにはOpenGL、OpenGL ES、Metal、Vulkan、WebGPUがあり、ほとんどの主要なグラフィックスプラットフォームで同じシーンを実行できます。
レンダラーはクラスタ化フォワード方式を採用し、メタリックワークフロー、クリアコート、異方性、クロス、サブサーフェスの近似表現をカバーする物理ベースのマテリアルモデルを備えています。イメージベースドライティング、物理単位に基づくカメラとライト、複数のシャドウ手法、スクリーンスペース反射と屈折に加え、トーンマッパー、カラーグレーディング、アンチエイリアスを備えたポストプロセススタックも含まれます。
また、プロジェクトには多数のKHRおよびEXT拡張に対応したglTF 2.0ローダー(gltfio)のほか、マテリアルコンパイラーmatcや環境マップの前処理ツールcmgenなどのホストツールも含まれています。マテリアルは事前にコンパイルしてバイナリパッケージにし、実行時に読み込みます。
主な機能
- 01主要プラットフォーム向けのネイティブC++、Java/JNI、JavaScript API
- 02Vulkan、Metal、OpenGL ES、WebGPUなど複数のバックエンド
- 03クリアコート、異方性、クロスのシェーディングに対応した物理ベースマテリアル
- 04シャドウ、スクリーンスペース反射と屈折、イメージベースドライティング
- 05多数の拡張に対応した組み込みのglTF 2.0ローダー
ユースケース
- 軽量な3DレンダリングをAndroidアプリやゲームに追加する
- glTFモデル向けのクロスプラットフォームなリアルタイム3Dビューアーを構築する
- WebGL2を使ってブラウザーで製品ビジュアライゼーションやシーンをレンダリングする
- 物理ベースのシェーディングやレンダリング手法を試す
クイックスタート
- 1
Gradle の依存関係として Filament Android ライブラリを追加します
implementation 'com.google.android.filament:filament-android:1.78.1' - 2
または、CocoaPods 経由で iOS pod を追加します
pod 'Filament', '~> 1.78.1' - 3
リリースページから安定版ビルドとホストツールをダウンロードするか、ビルドマニュアルに従ってソースからビルドします
使う前に知っておきたいこと
- ネイティブ C++ ビルドには、別途用意されたビルドマニュアルに従ってソースからビルドする必要があります。
- matc などのリリースツールは、ランタイムライブラリと同じバージョンである必要があります。
トピック
よくある質問
- filament とは?
- Androidでの軽量・高効率な動作を重視して設計された、Android、iOS、Linux、macOS、Windows、WebGL2対応のリアルタイム物理ベースレンダリングエンジン。 Filamentは、C++で書かれたリアルタイム物理ベースレンダリング(PBR)エンジンです。Android、iOS、Linux、macOS、Windows、WebAssembly/WebGL2を対象としており、ネイティブC++、Android向けJava/JNI、JavaScriptのAPIを提供します。バックエンドにはOpenGL、OpenGL ES、Metal、Vulkan、WebGPUがあり、ほとんどの主要なグラフィックスプラットフォームで同じシーンを実行できます。
- filament は無料で使えますか?ライセンスは?
- filament は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- filament は今もメンテナンスされていますか?
- 活発にメンテナンス中。filament の最終コミットは 2026年10月22日 です。
- filament は何に使えますか?
- 軽量な3DレンダリングをAndroidアプリやゲームに追加する glTFモデル向けのクロスプラットフォームなリアルタイム3Dビューアーを構築する WebGL2を使ってブラウザーで製品ビジュアライゼーションやシーンをレンダリングする 物理ベースのシェーディングやレンダリング手法を試す
- filament のインストール方法は?
- Gradle の依存関係として Filament Android ライブラリを追加します: implementation 'com.google.android.filament:filament-android:1.78.1' または、CocoaPods 経由で iOS pod を追加します: pod 'Filament', '~> 1.78.1' リリースページから安定版ビルドとホストツールをダウンロードするか、ビルドマニュアルに従ってソースからビルドします
- filament はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google/filament
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Vulkanを使ったGo製2D/3Dゲームエンジン。エディターもエンジン上で動くゲームとして実装されています。
WebGLとWebGPUを使ったブラウザー上の3Dシーンの作成・描画を容易にするJavaScript 3Dライブラリ。
Pythonでコンパイラパイプラインをカスタマイズし、多様なハードウェアにモデルをデプロイできるオープンな機械学習コンパイルフレームワーク。
Vulkan/Metal/WebGPUレンダラー、ECS、クロスプラットフォームエディター、ブラウザー向けWebGPUビルドを備えた、MITライセンスのオープンソースC++20ゲームエンジン。
Three.jsやGSAPなどのWeb 3D・アニメーション技術をClaude Codeに教えるスキルとプラグイン集。