v1.3.0
Our npm package was last updated in April. Some of the changes since then:
Enhancements
Engine
- Added support for
RGB_11_11_10
- Removed support for
RGBM
(:warning: source compatibility breakage) - IBL cubemap can now be of any size
Texture::generatePrefilterMipmap
can be used for runtime generation of a reflection cubemap- Introduced
RenderTarget
API that allowsView
to reference an offscreen render target. - Added Screen Space Ambient Occlusion support (SAO)
- Implemented hard fences for the Metal backend, enabling dynamic resolution support.
- Stable mode for shadows
- Improve shadows depth resolution for large scenes
- Add support for polygon offset in shadow map parameters
- Bake the constant bias into the shadow-map
- Better clamping for dot(N, V) (#1106)
- Decouple tone-mapping, FXAA, MSAA and dynamic resolution
- MSAA is now disabled when post-processing is disabled
Materials
- Added specular ambient occlusion to compute a new AO term applied to specular reflections
(seespecularAmbientOcclusion
property in materials) - Added multi-bounce ambient occlusion to brighten AO and preserve local color
(seemultiBounceAmbientOcclusion
property in materials) - Micro-shadowing is now applied to material ambient occlusion
- Use a smaller 64x64 DFG LUT on mobile to reduce binary size
- The material property
curvatureToRoughness
has been replaced withspecularAntiAliasing
.
This new specular anti-aliasing solution offers more control via two new properties:
specularAntiAliasingVariance
andspecularAntiAliasingThreshold
. They can also be set on
material instances if needed - New blending modes:
multiply
andscreen
- Add
postLightingColor
property to materials (#1057) - Add new shading model to Filament for specularGlossiness. (#1083)
- Allow dynamic two-sided lighting and materialThreshold
Language Bindings
- Added
getMaterialInstanceAt
to the Java version of RenderableManager. - Fix JNI bindings for setting values in parameter arrays.
- Added JNI bindings for the gltfio library.
- JavaScript MaterialInstance now supports vec4 colors.
Samples
- Added
lucy_bloom
desktop C++ sample to demonstrate the newRenderTarget
API. - Added
gltf_bloom
Android Kotlin sample to show gltfio and theRenderTarget
API.
Tools, Libraries and Infrastructure
- Created a
RELEASE_NOTES.md
file, to be updated with significant PRs. - Fix support for parameter arrays in
.mat
files. - Added a distance field generator to libimage.
- Further reduced
filamat
binary size by removing reliance on stdlib. - Added a new, smaller, version of the
filamat
library,filamat_lite
. Material optimization and
compiling for non-OpenGL backends have been removed in favor of a smaller binary size. - Improved
SurfaceOrientation
robustness.
Bug fixes
- Fix FBO leak when using MSAA in some cases
- Honor clear color, fixes #1125
- Better frustum/box intersection, make code more robust
- Fix the calculation of the shadow constant bias
- Fix LISPSM warping frustum computation
- Actually set the IBL rotation from the builder
- Don't flip the normals (#1060)
- Fix min/max calls in Box::unionSelf (#984)
- Fixed an issue when sorting blended objects with different blending modes