JavaScript-библиотека для создания и отображения 3D-сцен в браузере с помощью WebGL и WebGPU.
google/filament
Движок физически корректного рендеринга в реальном времени для Android, iOS, Linux, macOS, Windows и WebGL2, рассчитанный на компактность и эффективность на Android.
- Звёзды
- 20,637
- Форки
- 2,283
- Открытые issues
- 209
- Последний коммит
- 3 часа назад
Что это?
Filament — движок физически корректного рендеринга (PBR) в реальном времени, написанный на C++. Он поддерживает Android, iOS, Linux, macOS, Windows и WebAssembly/WebGL2, а также предоставляет API для нативного C++, Java/JNI на Android и JavaScript. Среди поддерживаемых бэкендов — OpenGL, OpenGL ES, Metal, Vulkan и WebGPU, поэтому одна и та же сцена может работать на большинстве распространённых графических платформ.
Рендерер использует кластерную прямую схему и модель физически корректных материалов, поддерживающую металлический workflow, clear coat, анизотропию, материалы с эффектом ткани и приближённое моделирование подповерхностного рассеяния. В него входят освещение на основе изображений, физические единицы измерения для камер и источников света, различные методы расчёта теней, экранные отражения и преломление, а также конвейер постобработки с операторами тональной компрессии, цветокоррекцией и сглаживанием.
В проект также входят загрузчик glTF 2.0 (gltfio) с поддержкой множества расширений KHR и EXT и инструменты для хост-системы, например компилятор материалов matc и препроцессор окружения cmgen. Материалы заранее компилируются в бинарные пакеты, которые загружает среда выполнения.
Ключевые возможности
- 01API для нативного C++, Java/JNI и JavaScript на основных платформах
- 02Несколько бэкендов, включая Vulkan, Metal, OpenGL ES и WebGPU
- 03Физически корректные материалы с clear coat, анизотропией и шейдингом ткани
- 04Тени, экранные отражения и преломление, а также освещение на основе изображений
- 05Встроенный загрузчик glTF 2.0 с поддержкой множества расширений
Сценарии использования
- Добавление 3D-рендеринга в Android-приложение или игру с небольшим размером
- Создание кроссплатформенных 3D-просмотрщиков моделей glTF, работающих в реальном времени
- Рендеринг визуализаций продуктов или сцен в браузере с помощью WebGL2
- Эксперименты с методами физически корректного шейдинга и рендеринга
Быстрый старт
- 1
Добавьте библиотеку Filament Android как зависимость Gradle
implementation 'com.google.android.filament:filament-android:1.78.1' - 2
Или добавьте pod для iOS через CocoaPods
pod 'Filament', '~> 1.78.1' - 3
Скачайте стабильные сборки и инструменты для хост-системы со страницы релизов или соберите проект из исходного кода, следуя руководству по сборке
Что важно знать
- Для нативных сборок C++ необходимо собрать проект из исходного кода, следуя отдельному руководству по сборке.
- Версии инструментов из релизов, например matc, должны совпадать с версией библиотеки времени выполнения.
Темы
Частые вопросы
- Что такое filament?
- Движок физически корректного рендеринга в реальном времени для Android, iOS, Linux, macOS, Windows и WebGL2, рассчитанный на компактность и эффективность на Android. Filament — движок физически корректного рендеринга (PBR) в реальном времени, написанный на C++. Он поддерживает Android, iOS, Linux, macOS, Windows и WebAssembly/WebGL2, а также предоставляет API для нативного C++, Java/JNI на Android и JavaScript. Среди поддерживаемых бэкендов — OpenGL, OpenGL ES, Metal, Vulkan и WebGPU, поэтому одна и та же сцена может работать на большинстве распространённых графических платформ.
- filament можно использовать бесплатно? Какая у него лицензия?
- filament распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- filament всё ещё поддерживается?
- Активно поддерживается. Последний коммит в filament — 22 окт. 2026 г..
- Для чего можно использовать filament?
- Добавление 3D-рендеринга в Android-приложение или игру с небольшим размером Создание кроссплатформенных 3D-просмотрщиков моделей glTF, работающих в реальном времени Рендеринг визуализаций продуктов или сцен в браузере с помощью WebGL2 Эксперименты с методами физически корректного шейдинга и рендеринга
- Как установить filament?
- Добавьте библиотеку Filament Android как зависимость Gradle: implementation 'com.google.android.filament:filament-android:1.78.1' Или добавьте pod для iOS через CocoaPods: pod 'Filament', '~> 1.78.1' Скачайте стабильные сборки и инструменты для хост-системы со страницы релизов или соберите проект из исходного кода, следуя руководству по сборке
- Где скачать filament?
- Исходный код и инструкции по установке — на GitHub: https://github.com/google/filament
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Простая C-библиотека для создания видеоигр: 2D/3D-графика, ввод, звук и кроссплатформенность без внешних зависимостей.
Кроссплатформенный Java-фреймворк для разработки игр на OpenGL ES под десктопы, Android, веб и iOS.
Кроссплатформенная библиотека на C++ для фильтрации изображений и видео через OpenGL/ES, с бьюти-фильтрами и эффектами на основе распознавания лиц.
Кроссплатформенный UI-фреймворк на C++17 с GLFW/SDL2 для окон и OpenGL/Vulkan для рендеринга, построенный вокруг декларативного DSL.
Высокопроизводительный фреймворк на C++ для инференса моделей глубокого обучения на мобильных, встраиваемых и настольных устройствах.