Releases: playcanvas/engine
Releases · playcanvas/engine
v2.5.0
Breaking changes
- [BREAKING] ShaderMaterial no longer auto includes gamma, tonemapping and fog code by @mvaligursky in #7331
Other changes
- Updates to material chunks override functionality by @mvaligursky in #7284
- Small gsplat init update by @slimbuck in #7286
- Moved CameraFrame script to ESM folder by @mvaligursky in #7285
- Script Types & ESLint by @kpal81xd in #7288
- Refactor Grid class initialization and set initial values by @marklundin in #7287
- Refactor first-person controller script by @marklundin in #7289
- Refactor Camera controls by @kpal81xd in #7291
- Unified handling of core shader generation defines by @mvaligursky in #7298
- Replace skybox shader generator with a ShaderMaterial using few defines by @mvaligursky in #7301
- GsplatMaterial interally uses ShaderMaterial to generate variants by @mvaligursky in #7302
- WarnOnce in debug mode if material parameter is being set to undefined by @mvaligursky in #7305
- Do not log warning when material data contains sheenGlossTint, which was removed by @mvaligursky in #7306
- Shader WGSL example - split single shader into vertex and fragment by @mvaligursky in #7310
- Improve preprocessor to allow for define value injection by @mvaligursky in #7309
- View Cube extra by @kpal81xd in #7081
- Examples build rework by @kpal81xd in #7314
- Script Destroy by @kpal81xd in #7315
- VecN/Color array conversion support by @kpal81xd in #7312
- Examples build static file optimisation by @kpal81xd in #7317
- Camera controls focus damping by @kpal81xd in #7313
- Editor example updates by @kpal81xd in #7319
- Easier to override render pass used by the CameraFrame by @mvaligursky in #7321
- Improvements to sRGB support by the Texture by @mvaligursky in #7323
- Gizmo rotate updates by @kpal81xd in #7327
- Improved support for WGSL shaders. by @mvaligursky in #7320
- Improvement to internal WGSL shader processing to only replace whole words by @mvaligursky in #7329
- Outline renderer supports morphed models by @mvaligursky in #7333
- When Texture.srgb is changed, shaders are reevaluated to be recreated by @mvaligursky in #7336
- Adds
@enableif
to Camera Controls Script by @marklundin in #7330 - Gsplat material creation no longer set undefined parameters on the material by @mvaligursky in #7339
- Make Batch.destroy public as it’s useful for destroying manually created batch groups by @mvaligursky in #7340
Fixes
- [Fix] Handle CameraFrame script changing enabled state by @mvaligursky in #7282
- GSplat shader fixes by @slimbuck in #7283
- [Fix] Splat shader didn’t have gamma decode functions when gamma output is disabled by @mvaligursky in #7290
- Gsplat chunk fix by @slimbuck in #7292
- [Fix] Fix frequent shader variant invalidation by @mvaligursky in #7294
- First Person Controller fixes by @kpal81xd in #7293
- [Fix] Texture created by TextureAtlas respects its initial settings by @mvaligursky in #7300
- [Fix] Preprocessor correctly updates position for text replacement by @mvaligursky in #7303
- Fix some issues with CameraFrame.enabled not working correctly by @mvaligursky in #7311
- Packaged ESM Scripts fixes by @kpal81xd in #7316
- toArray/fromArray fixes by @kpal81xd in #7318
- [Fix] When CameraFrame is disabled, disable SSAO being applied during forward pass by @mvaligursky in #7322
- Fix to msdf chunk to handle gamma space correctly by @mvaligursky in #7325
- [Fix] Multiple changes and fixed related to the way UI system handles srgb by @mvaligursky in #7335
- Camera controls fixes by @kpal81xd in #7337
Full Changelog: v2.4.3...v2.5.0
v1.76.3
Fixes
- ScriptAttribute fix by @marklundin in #7192
- Refactor script loading logic in ScriptHandler by @marklundin in #7161
- ESM Preload Fix by @marklundin in #7161
Full Changelog: v1.76.2...v1.76.3
v2.4.3
Fixes
- Fix some issues with CameraFrame.enabled not working correctly by @mvaligursky in #7311
Full Changelog: v2.4.2...v2.4.3
v2.4.2
Fixes
- Fix frequent shader variant invalidation by @mvaligursky in #7294
- First Person Controller fixes by @kpal81xd in #7293
- Texture created by TextureAtlas respects its initial settings by @mvaligursky in #7300
- Preprocessor correctly updates position for text replacement by @mvaligursky in #7303
- WarnOnce in debug mode if material parameter is set to undefined by @mvaligursky in #7305
- Do not log warning for material data containing sheenGlossTint by @mvaligursky in #7306
Full Changelog: v2.4.1...v2.4.2
v2.4.1
##Fixes
- Handle CameraFrame script changing enabled state by @mvaligursky in #7282
- GSplat shader fixes by @slimbuck in #7283
- Updates to material chunks override functionality by @mvaligursky in #7284
- Small GSplat initialization update by @slimbuck in #7286
- Moved CameraFrame script to ESM folder by @mvaligursky in #7285
- Fixed typing and ESLint for ESM scripts by @kpal81xd in #7288
- Refactor Grid class initialization and set initial values by @marklundin in #7287
- Fixed splat shader gamma decode issues when gamma output is disabled by @mvaligursky in #7290
- Refactor first-person controller script by @marklundin and @kpal81xd in #7289
- Refactor Camera controls by @kpal81xd and @marklundin in #7291
- GSplat chunk fix by @slimbuck in #7292
Full Changelog: v2.4.0...v2.4.1
v2.4.0
Breaking changes
- [BREAKING] A few shader chunks available to
ShaderMaterial
use their original names by @mvaligursky in #7277 - [BREAKING] Rename
skinTex
andskinBatchTex
chunk names toskin
andskinBatch
by @mvaligursky in #7278 - [BREAKING] Deprecate WebGL1 based texture sampling names with
_EXT
by @mvaligursky in #7221
Other changes
- Depth of Field implementation using render passes by @mvaligursky in #7210
- Small change to the default level of
blurLevel
for the HDR Bloom by @mvaligursky in #7166 - Gsplat shader chunk updates by @slimbuck in #7169
- Export internal
CameraShaderParams
class which is currently required by the Editor by @mvaligursky in #7168 - Speed up gsplat sh packaging by @slimbuck in #7170
- Add basic XR navigation ESM script by @willeastcott in #7171
- Updated the way shaders include tonemapping chunks by @mvaligursky in #7174 #7176
- Update to render passes - generate scene half sized texture by @mvaligursky in #7175
- Further gsplat shader refinements by @slimbuck in #7185
- Texture tracing log contains its pixel format by @mvaligursky in #7190
- Clamp GS SH coefficients correctly by @slimbuck in #7193
- Add skinning support to glTF exporter by @willeastcott in #7197
- Hide component constructors by @willeastcott in #7203
- Delete unused import by @willeastcott in #7207
- Remove
CameraComponentSystem
onUpdate
handler by @willeastcott in #7208 - [Fix] Change gloss default value to 1 by @mvaligursky in #7216
- Migrate
TextElement
tests from Karma to Node by @willeastcott in #7217 - Migrate
ImageElement
tests from Karma to Node by @willeastcott in #7219 - DOF support for WebGPU by @mvaligursky in #7218
- Update NPM depenedencies by @willeastcott in #7222
- DOF - near blur is optional by @mvaligursky in #7220
- Switch to
node-canvas
for running unit tests by @willeastcott in #7223 - Move unit test assets to a new folder by @willeastcott in #7224
- Updated preprocessor to optionally remove defines from source by @mvaligursky in #7226
- Minor refactor to unit tests by @willeastcott in #7227
- Migrate
ScriptComponent
tests from Karma to Node by @willeastcott in #7228 - Migrate
BundleRegistry
tests from Karma to Node by @willeastcott in #7229 - Optimized shadow cascade matrix selector shader function by @mvaligursky in #7230
- Tweak
jsdom
and server for unit tests by @willeastcott in #7231 - Migrate
SpriteComponent
tests from Karma to Node by @willeastcott in #7232 - Address PCSS softness by @GSterbrant in #5483
- Shadow cascades can be cross-blended using dithering by @mvaligursky in #7233
- Migrate
BundleHandler
tests from Karma to Node by @willeastcott in #7235 - Migrate
Http
tests from Karma to Node by @willeastcott in #7236 - [ImgBot] Optimize images by @imgbot in #7225
- Migrate
ElementDragHelper
tests from Karma to Node by @willeastcott in #7237 - Remove Karma by @willeastcott in #7238
- Render pass tracing now logs values used to clear color/depth/stencil buffer by @mvaligursky in #7239
- Bun build support by @kpal81xd in #7242
- Handle NaNs in GSplat data by @slimbuck in #7243
- Store PLY header comments by @slimbuck in #7246
- Support 1 and 2 bands of SH in uncompressed gsplat data by @slimbuck in #7248
- ESM Preload Fix by @marklundin in #7161
- ESM Script clone fix by @marklundin in #7251
- Use Dependabot to update NPM dependencies by @willeastcott in #7254
- Migrate from Terser and Babel to SWC by @marklundin in #6920
- Added DOF support to
CameraFrame
script by @mvaligursky in #7272 - Add arrow key controls to
camera-controls.mjs
by @vincentwoo in #7270 - Support chunks to be included by VS of
ShaderMaterial
by @mvaligursky in #7276 - ESM First Person Controller by @kpal81xd in #7252
- ESM Grid Mesh Script by @kpal81xd in #7147
ShaderMaterial
shader generator - remove manually specified chunk includes by @mvaligursky in #7279ShaderMaterial
generator providesGAMMA
andTONEMAPPING
defines to VS by @mvaligursky in #7280- Remove obsolete deprecated functionality for
litShaderArgs
by @mvaligursky in #7281 - Camera controls updates by @kpal81xd in #7205
Fixes
- [Fix] The material loading do not print validation warnings for few unsupported properties by @mvaligursky in #7167
- [WebglGraphicsDevice] Catch and return async error in readTextureAsync by @liamdon in #7173
- [Fix] Fix to just introduced tonemapping issue with HDR by @mvaligursky in #7176
- [Fix] Exposed
PIXELFORMAT_R8
format for locking by @mvaligursky in #7177 #7178 - Fix negative tonemapped values by @slimbuck in #7179
- Fixes for gsplat spherical harmonics by @slimbuck in #7182
- [Fix] Correctly handle VSM not being supported by clustered lighting by @mvaligursky in #7184
- Shader fix by @slimbuck in #7187
- Add missing early-out in gsplat shader by @slimbuck in #7189
- [FIX] Allow sphere maps to work when an envAtlas is set by @willeastcott in #7201
- [FIX] Correctly set texture dimensions from video source by @willeastcott in #7200
- [FIX] Ensure enabled property is cloned for all components by @willeastcott in #7199
- [FIX] Handle case where
pbrMetallicRoughness
is not present by @willeastcott in #7198 - Minor refactor of
CameraComponent
by @willeastcott in #7209 - Eliminate all imports in JSDoc blocks by @willeastcott in #7212
- Delete unused unit test assets by @willeastcott in #7213
- Migrate
AssetReference
tests from Karma to Node by @willeastcott in #7214 - [Fix] HDR lightmap baking is working by @mvaligursky in #7247
- Fix Apple Silicon Tests by @marklundin in #7253
- [Fix] Remove PVRT texture formats with sRGB encoding as not supported on any platform by @mvaligursky in #7256
- Expose PLY load progress by @slimbuck in #7259
- Overhaul of directional PCSS shadows by @mvaligursky in #7258
- Configure Renovate by @renovate in #7260
- Migrate renovate config by @renovate in #7264
- Renovate: Pin
devDependencies
by @willeastcott in #7265 - Pin dependencies by @renovate in #7263
- Update all npm dependencies by @renovate in #7266
- Remove Dependabot by @willeastcott in #7268
- Move renovate.json to .github folder by @willeastcott in #7269
- Request new feature "float32-blendable" for WebGPU device by @mvaligursky in #7271
- Added PCSS option to ShadowCascades example by @mvaligursky in https://github...
v2.3.3
v2.3.2
Fixes
- Further gsplat shader refinements (#7185)
- [Fix] Correctly handle VSM not being supported by clustered lighting (#7184)
- Fixes for gsplat spherical harmonics (#7182)
- Fix negative tonemapped values (#7179)
- Undo the R8 format fix (#7178)
- [Fix] Exposed PIXELFORMAT_R8 format for locking (#7177)
- Update to render passes - generate scene half sized texture (#7175)
- [Fix] Fix to just introduced tonemapping issue with HDR (#7176)
- Updated the way shaders include tonemapping chunks (#7174)
- Catch async error in readTextureAsync (#7173)
Full Changelog: v2.3.1...v2.3.2