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.maxSamplesby @mvaligursky in #7086 - Gizmo hover disabled with no selection on mouse down by @kpal81xd in #7092
- Exposed
Scene.skyproperties 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/getRotationto reduceAmmocoupling by @kungfooman in #6948 - Adds
deprecated.jstosideEffectsby @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
.wheelin OrbitCamera by @marklundin in #7115 - Remove no longer used
float2MantissaExponentinternal function by @mvaligursky in #7130 - Add support for simple compare expression to preprocessor by @mvaligursky in #7133
- Add
XrJoint#idby @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
DEPTH16texture 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
GltfExporterto strip unused attributes by @willeastcott in #7153 - Texture can be constructed with a specified number of mip levels by @mvaligursky in #7160
Fixes
getFrustumCornersfix 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
ScriptHandlerby @marklundin in #7097 - Fixed ESM
swap()by @marklundin in #7107 - Ply loading fix by @slimbuck in #7110
- Fix docs for
collisionendevent by @willeastcott in #7112 - Fix types for
Scene#skyboxandScene#envAtlasby @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.mipLevelby @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