Releases: playcanvas/engine
Releases · playcanvas/engine
v1.51.1
v1.51.0
Summary
There's a brand new method of rendering environment lighting, check out the details here: #3783
The clustered lighting has had an API changes to its final form (still in a preview), please update your code if you're testing it: #3763
What's New
- Refactor environment lighting #3783 #3789 #3810
- Implementation of the final API for clustered lighting, shadowType support #3763
- Improvement to clustered lighting shader loop #3738
- Clustered lighting uses single light texture on devices with small number of texture units #3793
- Clustered lighting uses textureLod to sample data textures to improve dynamic branching #3794
- Add support for DDS rgba16 #3743
- Remove left handed cubemap sampling #3751
- Make text-element color and opacity setter consistent with image-element. #3766
- Small refactor to ForwardRenderer.updateShaders #3757
- Add SHADOWPASS #define to shader #3746 (@Maksims)
- Internal Debug logging functionality #3754 #3775 #3777 #3802
- Create examples for the proper use of world-space screens and world to screen coordinates. #3771
- Update the assignAnimation function signature and documentation with blend tree support #3774
- Simplify NodeGraph.path and NodeGraph.root #3792
- Refactored gpu markers using Debug module #3801
- Improved DefaultMaterial to avoid circular dependency #3791
- Camera onPreRender and onPostRender callbacks #3818
Documentation
- Properly deprecated MeshInstance.syncAabb #3797
Examples Browser
- Revamp User Interface examples. #3753
- Updated cluster spot light example to add controls to add/remove light #3796
- RenderCubemap example switched from model to render component #3816
- New Box reflection example #3800 #3819
Bug Fixes
- Update the examples browser build process to correctly copy static files and clear the static folder each build (#3737)
- Correctly enable textureLod extension on webgl1 #3744
- Fix semantics string in documentation #3747
- Corrected aabb computation for morphed meshes #3750
- Remove deprecated shader chunks #3752
- Fixed standard shader generation when GGX is enabled but there are no lights #3764
- AnimComponent - First frame bug fix #3770
- Fix to the way createMesh handles blend indices #3779
- AnimComponent - fix a bug with the assignAnimation function
- fix to shader chunk naming related to skybox #3785
- Resolve animation nodes correctly and uniquify sibling node names #3787
- Search correctly when resolving nodes in default anim binder #3798 #3799
- Load vox without palette correctly #3803
- Fix aligned array buffer access on vox models #3806
- Fix embedded ktx2 loading #3812
- Fix material emissive logic #3822
v.1.50.2
v1.50.1
Bug Fixes
- Always fire element set:color and set:opacity event when color and opacity is set (#3761)
- Assign animations events when animation asset is loaded (#3767)
- First frame bug fix (#3770)
- Fix to the way createMesh handles blend indices (#3779)
- Resolve animation nodes correctly and uniquify sibling node names (#3787)
- Anim controller update method fix (#3795)
v1.50.0
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)
v1.49.4
v1.49.3
v1.49.2
v1.49.1
v1.49.0
Summary
This is primarily a bug fix release along with a ton of code maintenance updates!
Bug Fixes
- Fix to ParticleSystem crash caused by recent refactor (#3598)
- Code maintenance (#3599, #3597, #3607, #3600, #3608, #3610, #3611, #3612, #3613, #3620, #3621, #3626, #3628, #3615, #3632)
- Used instanceof to check against Entity type directly in Anim rootBone assignment (#3619)
- Multi app support for triggers (#3624)