Summary
This release brings improvements to clustered lights and a ton of bug fixes.
Be sure to check out the newest clustered area lights example: https://playcanvas.github.io/#/graphics/clustered-area-lights
What's New
- Clustered Area lights (#3691)
- Small improvements to clustered lighting (#3728)
- Specular & Clear-coat support for clustered lights (#3668)
- Add vox loading script (#3655)
- Simplify skybox rotation (#3636, #3736)
- Add prefiltering helper functions (#3633)
- Expose collision point applied impulse. (#3682) - thanks to @LeXXik
MeshInstance.skinInstance
is now public (#3706)- Deprecated
Scene.defaultMaterial
(#3709)
Documentation
- Set and Map are officially permitted in the engine, with limitations (#3662)
- Fixed jsdoc datatype on excludeFromLayout (#3670)
- Fix the pause animation description in the anim component layer (#3672)
- Updated description on follow camera script (#3703)
Examples Browser
- New example: Clustered Area Lights (part of #3691)
- Improved clustered spot light engine example (#3717)
- Improved lighting in Locomotion example (#3720)
- Examples debug watch update (#3722)
- UI updates (#3644)
- Fix for older mobiles (#3700)
- Debug build (#3713)
- Debug build now works on devices that only supports es5 (#3730)
Bug Fixes
- Animation updates (#3637)
- Small tweaks to clustered lighting to improve compatibility and performance (#3704)
- Grabpass functionality refactor and mipmap support for webgl2 (#3656)
- Small refactor to the way TextElement releases MeshInstances (#3595)
- Refactor some single iteration loops (#3659)
- When shader fails to link in debug mode, print out vertex/fragment shader source (#3669)
- Reimplement skybox handling in application (#3671)
- Update release script (#3690, #3692)
- Move the resizeobserver polyfill into the examples package.json (#3701)
- Follow camera lerp function is framerate independent (#3696)
RenderComponent.material
returns assigned material for primitives (#3665)- Clustered lighting honors
MeshInstance.noShadow
(#3705) - Update to msdf font rendering shader to lower the smoothing (#3707)
- Fix to lightmapper stats reporting (#3708)
- Area light optimization - shared functionality is executed one time for all lights (#3710)
- Fix to sphere area light specular reflection (#3711)
- Fixed null exception when button component is used with element group (#3712)
- Calculate compressed mipmap sizes correctly (#3716)
- Switch the watch lib to nodemon for multiple directory watching (#3721)
- Don't allow clustered area lights if less than 8 texture units (#3729)
- Fallback to uncompressed with invalid texture dimensions (#3731)
- Removed private and no longer needed debug.js (#3732)
- Various code maintenance improvements (NPM dependencies, linting)