Releases: playcanvas/engine
Releases · playcanvas/engine
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
v1.76.2
v1.76.1
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