선언형 DSL을 중심으로 GLFW/SDL2 윈도우 백엔드와 OpenGL/Vulkan 렌더링을 지원하는 크로스 플랫폼 C++17 UI 프레임워크입니다.
google/filament
Android에서 작고 효율적으로 동작하도록 설계된 Android, iOS, Linux, macOS, Windows 및 WebGL2용 실시간 물리 기반 렌더링 엔진입니다.
- 스타
- 20,637
- 포크
- 2,283
- 열린 이슈
- 209
- 마지막 커밋
- 5시간 전
어떤 프로젝트인가요?
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 로더
활용 사례
- 작은 용량으로 Android 앱이나 게임에 3D 렌더링 추가
- 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은(는) 어디에 사용할 수 있나요?
- 작은 용량으로 Android 앱이나 게임에 3D 렌더링 추가 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 게임 엔진으로, 엔진 안에서 실행되는 게임 형태의 에디터가 내장되어 있습니다.
개발자가 Python에서 컴파일러 파이프라인을 맞춤 설정하고 다양한 하드웨어 대상으로 모델을 배포할 수 있는 오픈 머신러닝 컴파일 프레임워크입니다.
Vulkan/Metal/WebGPU 렌더러, ECS, 크로스 플랫폼 에디터, 브라우저용 WebGPU 빌드를 갖춘 MIT 라이선스 C++20 게임 엔진입니다.
WebGL과 WebGPU를 사용해 브라우저에서 3D 장면을 더 쉽게 만들고 렌더링할 수 있는 JavaScript 3D 라이브러리입니다.
Claude Code에 Three.js, GSAP 등 웹 3D 및 애니메이션 도구를 가르치는 스킬과 플러그인 모음