v1.8.0
Engine (new features ✨)
View::setToneMapping
is deprecated, useView::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
andScene
. - 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
andPixelBufferDescriptor
s 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:
Vignette and color grading
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.