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 #7275
- [Fix] Fixes to an issue causing the fringing to be upside down when TAA is enabled on WebGPU by @mvaligursky in #7274
New Contributors
- @renovate made their first contribution in #7260
- @vincentwoo made their first contribution in #7270
Full Changelog: v2.3.3...v2.4.0