GoogleがFilamentというオープンソースのリアルタイムレンダリングエンジンを公開しています.
Filament
https://github.com/google/filament
このエンジンはC++とJava/JNIがあり,Android,Linux,macOS,Windowsをサポートします.
バックエンドとしてOpenGL 4.1, OpenGL ES 3.0(Android), Vulkanがあります.macOSはOpenGLかMoltenVkによるVulkanで動作させる形になるようです.
物理ベースのクラスターフォワードレンダリングを採用していますが,ライトの単位なども物理的な単位ベースのようです.
- Clustered forward renderer
- Cook-Torrance microfacet specular BRDF
- Lambertian diffuse BRDF
- HDR/linear lighting
- Metallic workflow
- Clear coat
- Anisotropic lighting
- Approximated translucent (subsurface) materials (direct and indirect lighting)
- Cloth shading
- Normal mapping & ambient occlusion mapping
- Image-based lighting
- Physically-based camera (shutter speed, sensitivity and aperture)
- Physical light units
- Point light, spot light and directional light
- ACES-like tone-mapping
- Temporal dithering
- FXAA or MSAA
- Dynamic resolution (on Android)
将来サポートしたい機能としては以下のような要素があるようです.
- IES light profiles
- Area lights
- Fog
- Color grading
- Bloom
- TAA
- etc.