Filament : Googleのオープンソースリアルタイムレンダリングエンジン

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.