Releases: playcanvas/engine
Releases · playcanvas/engine
v2.3.1
Fixes
- Small change to the default level of blurLevel for the HDR Bloom by @mvaligursky in #7166
- Fixed material loading to avoid printing validation warnings for certain uniforms by @mvaligursky in #7167
- Updated Gsplat shader chunks by @slimbuck in #7169
- Exported internal CameraShaderParams class, required for custom use cases by @mvaligursky in #7168
- Improved performance of Gsplat shader packaging by @slimbuck in #7170
- Added basic XR navigation ESM script by @willeastcott in #7171
Full Changelog: v2.3.0...v2.3.1
v1.76.0
What's New
- Example controls updates (#7093)
- Fixed gizmo code editor issues + added thumbnails
- Fix docs for collisionend event (#7112)
- [Fix] Improve handling of lost device on WebGL (#7121)
- [Fix] Fixes handling uf (u/i)sampler2DArray shader translation for WebGPU by @mvaligursky in #7120
- Batcher buffers merging optimization by @Maksims in #7109
- Support compressed spherical harmonics (#7143)
- Scale gs sort bucket size with scene size (#7155)
- EventHandle.off - performance improvements by @Maksims in #7137
- Optimization: use EventHandle in Components for scene and layers by @Maksims in #7138
- Update engine and examples package.json by @slimbuck in #7172
Full Changelog: v1.75.0...v1.76.0
v2.3.0
Breaking changes
- [BREAKING] Refactor API for gammaCorrection, toneMapping and Fog settings by @mvaligursky in #7101
- [BREAKING] Removed support for VSM8 shadow type by @mvaligursky in #7146
- [BREAKING] Camera callbacks replaced by the events by @mvaligursky in #7156
- [BREAKING] Convert gsplat material to be chunk-based by @slimbuck in #7164
Other changes
- Exposed
GraphicsDevice.maxSamples
by @mvaligursky in #7086 - Gizmo hover disabled with no selection on mouse down by @kpal81xd in #7092
- Exposed
Scene.sky
properties by @mvaligursky in #7041 - Renamed ESM scripts to end with mjs by @kpal81xd in #7102
- Small bloom render pass optimization by @mvaligursky in #7104
- Add
RigidBodyComponent#getPosition/getRotation
to reduceAmmo
coupling by @kungfooman in #6948 - Adds
deprecated.js
tosideEffects
by @marklundin in #7114 - Add define gl_InstanceID of gl_InstanceIndex for webgpu by @AlexAPPi in #7123
- Depth prepass generates linear depth by @mvaligursky in #7119
- Improve JSDoc for Quat by @willeastcott in #7126
- Removes deprecated
.wheel
in OrbitCamera by @marklundin in #7115 - Remove no longer used
float2MantissaExponent
internal function by @mvaligursky in #7130 - Add support for simple compare expression to preprocessor by @mvaligursky in #7133
- Add
XrJoint#id
by @willeastcott in #7132 - WebGPU support for ClipDistances feature by @mvaligursky in #7134
- CameraFrame API in the engine by @mvaligursky in #7129
- Update ESLint to latest by @willeastcott in #7140
- Support compressed spherical harmonics by @slimbuck in #7143
- Support for
DEPTH16
texture format and its used for PCF shadow maps by @mvaligursky in #7142 - Per frame randomized SSAO sampling & debug mode in composite pass by @mvaligursky in #7139
- Renamed shadow type constants, old constants are deprecated by @mvaligursky in #7145
- Add option to
GltfExporter
to strip unused attributes by @willeastcott in #7153 - Texture can be constructed with a specified number of mip levels by @mvaligursky in #7160
Fixes
getFrustumCorners
fix by @slimbuck in #7077- Gizmo rotation direction fix by @kpal81xd in #7076
- fix #7098 missing texture format by @MAG-AdrianMeredith in #7099
- Fix Script schema retrieval in
ScriptHandler
by @marklundin in #7097 - Fixed ESM
swap()
by @marklundin in #7107 - Ply loading fix by @slimbuck in #7110
- Fix docs for
collisionend
event by @willeastcott in #7112 - Fix types for
Scene#skybox
andScene#envAtlas
by @willeastcott in #7118 - [Fix] Improve handling of lost device on WebGL by @mvaligursky in #7121
- Fix buffer view target overrides in glTF exporter by @willeastcott in #7152
- Correction to docs regarding
RenderTarget.mipLevel
by @mvaligursky in #7158 - [Fix] Remove dimensions caching from RT by @mvaligursky in #7163
Examples
- [BETA] ESM Multi-Camera script updates by @kpal81xd in #7078
- Example build fixes by @kpal81xd in #7083
- WebGPU Picker example fix by @kpal81xd in #7094
- Example controls updates by @kpal81xd in #7093
- Updated the Particles Snow example with depth softening by @mvaligursky in #7106
- Update Examples Browser NPM dependencies by @willeastcott in #7113
- Examples monaco loader fix by @kpal81xd in #7116
CameraControls
(previously MultiCamera) by @kpal81xd in #7111- Camera controls updates by @kpal81xd in #7141
- Camera controls fixes by @kpal81xd in #7157
- A utility script to allow WebGL GPU capture using Xcode by @mvaligursky in #7154
- Scale gs sort bucket size with scene size by @slimbuck in #7155
- ESM script to dynamically pull XR controllers from CDN by @willeastcott in #7148
- Make camera controls script play nice with XR by @willeastcott in #7128
- Camera controls XR null check by @kpal81xd in #7165
New Contributors
Full Changelog: v2.2.2...v2.3.0
v1.75.1
Fixes
- Disable MSAA on Android Firefox version newer than 123.0 by @mvaligursky in #7096
- Patch to migrate material to default to physical v1 by @kpal81xd in #7100
Full Changelog: v1.75.0...v1.75.1
v2.2.2
Fixes
- Disable MSAA on Android Firefox version newer than 123.0 by @mvaligursky in #7096
- Missing WebGPU texture format by @MAG-AdrianMeredith in #7099
- Fix script schema retrieval in ScriptHandler by @marklundin in #7097
Full Changelog: v2.2.1...v2.2.2
v1.75.0
What's Changed
- Compatibility of engine v1 with data format of engine v2 by @mvaligursky in #7066
- Adds LTS tag to NPM publish by @marklundin in #6971
- Gizmos updates v1 (fast forwarding from v2) by @kpal81xd in #6996
Fixes
- Fix for -Infinity compressed GS data by @slimbuck in #6973
- Gizmo fixes by @slimbuck in #6997
- [Fix] Fix in lightmapper where a material lightmap would be incorrectly released during baking by @mvaligursky in #7005
- [Fix] Fix to lightmapping not baking shadows on the following runs by @mvaligursky in #7022
- Gizmo material chunks shader fix by @kpal81xd in #7049
- Examples device type refactor v1 by @kpal81xd in #7062
- Compressed ply orientation fix by @slimbuck in #7064
- Lint error fix by @mvaligursky in #7067
- Example device types fixes v1 by @kpal81xd in #7091
- Examples devices fixes v1 by @kpal81xd in #7095
Full Changelog: v1.74.0...v1.75.0
v2.2.1
v2.2.0
Major/Breaking Changes
- Gizmo plane flipping and hiding by @kpal81xd in #7050
- Gizmos axis flipping and hiding by @kpal81xd in #7063
Other changes
- Support for GPU timing reporting for compute passes in WebGPU by @mvaligursky in #7028
- An attempt to handle lost device on WebGPU by @mvaligursky in #7032
- CameraFrame render pass rendering supports stencil buffer by @mvaligursky in #7031
- Fix text encoding in glTF exporter by @willeastcott in #7034
- Optimized the creation of CommandEncoders on WebGPU by @mvaligursky in #7037
- Ammo pointer fix by @LeXXik in #7038
- Fix draco pointer by @LeXXik in #7039
- Combine render passes where feasible by @mvaligursky in #7040
- [Fix] Fix to occasional black pixels with bloom and sharpening by @mvaligursky in #7044
- Gizmo clipping plane fix by @kpal81xd in #7045
- Gizmo scale fix by @kpal81xd in #7046
- Gizmo disabled hover fix by @kpal81xd in #7048
- Rendering to a single mip level of RenderTarget (WebGPU only) by @mvaligursky in #7051
- Fix gsplat material defines by @slimbuck in #7054
- Modified the gsplat examples to create splat instances a more standard way by @mvaligursky in #7053
- Gizmo orthographic fix by @kpal81xd in #7059
- Gsplat shader fix for webgpu by @slimbuck in #7065
- Gizmo rotation fix by @kpal81xd in #7068
- Small fix for texture read by @slimbuck in #7070
- Small type fix by @slimbuck in #7069
- Gizmo rotation fix for orthographic by @kpal81xd in #7072
- Gizmo orthographic ray fix by @kpal81xd in #7073
- Gizmos fixes by @kpal81xd in #7074
- ESM Multi camera (example currently hidden) by @kpal81xd in #6642
Examples
- Updated Events example to use render passes bloom by @mvaligursky in #7043
- Remove couple of unneeded lines from gsplat-many example by @mvaligursky in #7055
- Fixed examples device type logging by @kpal81xd in #7061
Full Changelog: v2.1.0...v2.2.0
v2.1.0
car2.mov
Major / Breaking changes
- [BREAKING] Skydome shader chunk changes + updates to FirstPerson example by @mvaligursky in #6991
- CameraFrame script, to expose a simple to use version for the engine and the Editor by @mvaligursky in #7011
Other changes
- Added few keywords to the package by @mvaligursky in #6892
- Improve ply parsing performance by @kemchenj in #6882
- Add support for assigning properties to script instances by @marklundin in #6787
- Allow per camera fog settings by @mvaligursky in #6899
- Propsal to update deprecated and removed functionality by @mvaligursky in #6900
- Improved error message when basis wasm is not loaded by @mvaligursky in #6901
- Option to apply SSAO during lighting instead of during postprocessing by @mvaligursky in #6907
- Refactored the API for RenderPassCameraFrame by @mvaligursky in #6916
- WebGPU partial support for multisampled RT using supplied depth texture by @mvaligursky in #6917
- Automatically store depth if RT is used with a user supplied depth buffer by @mvaligursky in #6918
- Update to ESLint 9 by @willeastcott in #6922
- Simplify ESLint config and enforce no-var rule by @willeastcott in #6923
- Migrate 18 ElementComponent unit tests from Karma to Node by @willeastcott in #6925
- Enable loading of texture assets in unit tests by @willeastcott in #6928
- Use
@template
onObjectPool
for actual types by @kungfooman in #6929 - Small cleanup of the WebGL MSAA buffer allocation code by @mvaligursky in #6931
- Update example file extension in CodeEditorDesktop.mjs by @marklundin in #6934
- Multisampled depth buffers can be shared between render targets on WebGPU by @mvaligursky in #6932
- Add
Vec2.HALF
,Vec3.HALF
andVec4.HALF
by @kungfooman in #6939 - RenderPass based SSAO works with multisampling by @mvaligursky in #6940
- Depth prepass now works with multisampling on WebGPU by @mvaligursky in #6945
- Small improvement to saturation control in compose pass to avoid clipping by @mvaligursky in #6962
- Texture Unit Tests via Skia-Canvas by @marklundin in #6944
- Tint color added to the color grading in the composite pass by @mvaligursky in #6967
- RenderPassCameraFrame exposes HDR formats by @mvaligursky in #6969
- Add support for Chrome HDR mode for WebGPU by @mvaligursky in #6980
- Add support for BC6H and BC7 texture formats, rename of two DXT formats by @mvaligursky in #6988
- Gizmo updates by @kpal81xd in #6992
- Improvements to non-clustered omni light shadows by @mvaligursky in #6998
- Improvement to layer handling by render passes by @mvaligursky in #7001
- Attach a label to WebGPU render pass encoder even in the release engine by @mvaligursky in #7003
- Update eslint config by @LeXXik in #7002
- #7004 Ensure outliner only adds enabled render components by @MAG-AdrianMeredith in #7006
- Refactored placeholder textures used by material loaded to a module by @mvaligursky in #7007
- Improved missing texture uniform error handling by @mvaligursky in #7008
- Avoid spam from AnimBinder regarding duplicate nodes by @mvaligursky in #7020
- Perform fuzzy test in material by @slimbuck in #7024
Fixes
- Prefilter fix by @slimbuck in #6894
- Fix 3D Gaussian Splat rendering in VR by @willeastcott in #6896
- [Fix] Correctly support sRGB DXT formats on WebGL by @mvaligursky in #6905
- Fix initialization of __attributes in ScriptType class by @marklundin in #6906
- [Examples/Vehicle] Fix Ammo null function error on restart by @kungfooman in #6902
- [Fix] Changing default value of SSAO during shader generation to false by @mvaligursky in #6910
- Ensure ScriptType members are initialized correctly by @marklundin in #6908
- WebXR: fix depth sensing for Oculus Quest v68+ by @Maksims in #6909
- Fix trigger crash by @LeXXik in #6926
- Back out arrow functions for Mocha tests by @willeastcott in #6927
- [Fix] Do not try to resolve color buffer if the RT does not have any, WebGL by @mvaligursky in #6919
- fixed broken cubemaps due to incorrectly sized params uniform by @MAG-AdrianMeredith in #6915
- Revert "Enable loading of texture assets in unit tests" by @marklundin in #6941
- fixed: incorrect texture being marked as srgb by @MAG-AdrianMeredith in #6938
- [Fix] Small fix to just introduced issue with MRT by @mvaligursky in #6947
- [Fix] Fix of WebGPU not correctly matching render pipelines to render target requirements by @mvaligursky in #6952
- Small fog and shader generation fixes when custom render passes are used by @mvaligursky in #6956
- Fix typo by @slimbuck in #6961
- Types fix by @slimbuck in #6963
- [Fix] Fix to reporting renderable support for float16 format by @mvaligursky in #6968
- [Fix] Stop transparent meshes to be rendered in depth prepass by @mvaligursky in #6972
- [Fix] RenderPassShaderQuad no longer destroys the shader by @mvaligursky in #6983
- Fix compound colliders by @LeXXik in #6979
- Gizmo fixes (#6997) by @kpal81xd in #6999
- Do not allow gizmo rendering to use debug output by @mvaligursky in #7009
- [Fix] Fix to area lights (disk, sphere) occasionally generating -Inf pixels by @mvaligursky in #7015
- [Fix] Remove recent fix from gizmo shader as not needed for engine v2 by @mvaligursky in #7017
- Fix/local-axis-gizmo-error by @MAG-ME in #7013
Examples
- OutlineRenderer and an engine example by @mvaligursky in #6898
- Examples error handling fix by @kpal81xd in #6957
- Examples thumbnail fix by @kpal81xd in #6958
- Examples engine bundled by @kpal81xd in #6959
- Examples host port update by @kpal81xd in #6960
- Change examples default serving port by @mvaligursky in #6970
- Update gsplat example shaders to latest structure by @slimbuck in #7021
- Regenerated thumbnails for the examples by @mvaligursky in #7025
New Contributors
- @MAG-AdrianMeredith made their first contribution in #6915
- @MAG-ME made their first contribution in #7013
Full Changelog: v2.0.0...v2.1.0
v1.74.0
What's New
- Support GS spherical harmonics by @slimbuck in #6946
- ESM Script class by @marklundin in #6950
Bug Fixes
- Gizmo scale fix v1 by @kpal81xd in #6830
- Fix an issue with light baking if the clustered lighting has shadows disabled by @mvaligursky in #6843
- CI + Updated ESLint for v1 by @kpal81xd in #6879
- fix touch event when target - is not an element by @Maksims in #6881
- Prefilter fix (engine v1) by @slimbuck in #6893
- Gsplat shader optimisations by @slimbuck in #6943
- Gsplat followup orientation and shader update by @slimbuck in #6954
Full Changelog: v1.73.5...v1.74.0