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