github google/filament v1.8.0

latest releases: v1.51.6, v1.51.5, v1.51.4...
3 years ago

Engine (new features ✨)

  • View::setToneMapping is deprecated, use View::setColorGrading instead. (⚠️ API change).
  • Tone mapping is now applied via a LUT.
  • New tone mappers: linear, ACES, ACES legacy (default), filmic (tone mapper from previous versions
    of Filament), Reinhard, Uchimura, and display range (to validate scene exposure). The new default
    tone mapper has a much improved behavior in high intensity areas.
  • Color grading capabilities per View: white balance (temperature/tint), channel mixer,
    tonal ranges (shadows/mid-tones/highlights), ASC CDL (slope/offset/power), contrast, vibrance,
    saturation, and curves.
  • New vignette effect.

Engine Changes

  • New depth-of-field (DoF) algorithm, which is more plausible and about an order of magnitude faster
    (about 4ms on Pixel4).
  • SSAO now has an optional high(er) quality upsampler.
  • Improved MSAA performance on mobile.
  • Improved performance of the post-process pass when bloom is disabled on mobile.
  • Added support for 3D textures.

Libraries and tools

  • gltf_viewer now supports viewing with glTF cameras.
  • gltfio now uses high precision for texture coordinates.
  • gltfio now supports importing glTF cameras.
  • gltfio now supports simple instancing of entire assets.
  • gltfio has improved performance and assumes assets are well-formed.
  • gltfio now supports name and prefix lookup for entities.
  • gltfio now provides Java/JavaScript APIs to access lights.
  • glfio now relies on the job system for various expensive tasks.
  • ModelViewer now allows resources to be fetched off the UI thread.

Platforms and Backends

  • Improved JavaScript API for SurfaceOrientation and Scene.
  • Updated JavaScript API around Camera construction / destruction (⚠️ API change)
  • Add missing JavaScript API for View::setVisibleLayers().
  • Fixed incorrect handling of texture swizzling.
  • Fixed regression in JavaScript IcoSphere that caused tutorial to fail.
  • Fixed private API access on some versions of Android.
  • Fixed bug in the Metal backend when SSR and MSAA were turned on.
  • Fixed Metal issue with BufferDescriptor and PixelBufferDescriptors not being called on
    the application thread.
  • Add support for DoF with Metal backend.
  • Many improvements and bug fixes in Metal and Vulkan backends.

Examples

Improved depth-of-field

Depth-of-field off and on:

Screen Shot 2020-07-09 at 12 17 49 PM

Screen Shot 2020-07-09 at 12 17 51 PM

Vignette and color grading

color_grading

vignette

curves

Tone mapping

Comparison between the old tone mapper (now called "Filmic") and the new default "ACES (legacy)" tone mapper. Now how areas of high intensity (sun in the skybox, emissive red object in the foreground) behave in both cases.

Screen Shot 2020-07-09 at 11 58 45 AM

Screen Shot 2020-07-09 at 11 58 42 AM

Don't miss a new filament release

NewReleases is sending notifications on new releases.