Engine (new features ✨)
MASKED
mode now leaves destination alpha intact (useful for transparent targets).MASKED
mode now benefit from smoothing inunlit
materials.- Fixed frame graph crash when more than 32 stages were required.
- Temporal Anti-Aliasing (TAA) is now available as a complement to MSAA and FXAA. It can be turned
on and controlled usingView.setTemporalAntiAliasingOptions()
. - Added texture getters to
Skybox
andIndirectLight
(C++, Java, JavaScript). - Added APIs to create 3D textures and 2D texture arrays.
- Internal buffers can now be sized at compile times for applications that render very large
numbers of objects. View.setAmbientOcclusion()
is deprecated in favor ofView.setAmbientOcclusionOptions
(⚠️ API change).- Variance Shadow Mapping (VSM) is now available as an alternative to PCF shadows (experimental).
- Fixed translucent views with custom render targets.
- Use "reverse-z" for the depth buffer.
- Added a way to create an
Engine
asynchronously. - Highlights are now more stable under depth of field.
- New option to compress highlights before bloom.
- Improvements and fixes to SSAO and DOF.
Libraries and Tools
- Fixed
KHR_materials_transmission
to use theFADE
blending mode. - Fixed several memory leaks in gltfio and the JavaScript bindings.
- Reduced compiled material sizes by removing unnecessary variants.
Platforms and Backends
- Fixed several platform-specific Vulkan bugs and crashes.
- Switched to C++17.
- Many improvement and fixes in the Vulkan backend.
- Many improvement and fixes in the Metal backend.
- Improved MSAA implementation compatibility on Android devices.