New features
- Debug shader output functionality by @mvaligursky in #5261
- Glb async loading by @slimbuck in #5291
- Async draco decompression by @slimbuck in #5208
- StencilParameters support on WebGPU by @mvaligursky in #5243
- Added support for face-culling to WebGPU by @mvaligursky in #5221
- Refactor of private ShaderPass class to be dynamic instead of hardcoded by @mvaligursky in #5256
- Mipmap generation for WebGPU 2D textures by @mvaligursky in #5275
- Update glb-parser by @slimbuck in #5219
- Output engine banner by @slimbuck in #5282
- Further cleanup / optimization to the way face culling is handled by @mvaligursky in #5207
- Leverage class fields in GraphNode by @willeastcott in #5223
- Eliminate
var
from the code base by @willeastcott in #5224 - Improvements to texture upload / cubemap support on WebGPU by @mvaligursky in #5292
- More nullish coalescing refactoring by @willeastcott in #5073
- Include extras in published package by @slimbuck in #5227
- Changed copyright year to 2023 by @querielo in #5229
- Use RGBA8 for png and jpg by @slimbuck in #5232
- WebGL device support passing in gl context by @slimbuck in #5233
- WebGPU device now supports clustered omni light shadows by @mvaligursky in #5298
- Replaced debug logging of the Element component by Tracing by @mvaligursky in #5238
- Disable ImageBitmap in Safari by @slimbuck in #5235
- Enabled additional type checking in the source code by @mvaligursky in #5246
- Generate define for each varying variable in standard fragment shader by @mvaligursky in #5267
- Private functions used to test the type of the texture containers by @mvaligursky in #5269
- Small cleanup to Particle System by @mvaligursky in #5279
- Temporarily disable ParticleSystems on WebGPU to avoid errors by @mvaligursky in #5283
- Improved trace information for render pipeline allocation by @mvaligursky in #5289
- Draco worker initialisation update by @slimbuck in #5294
- Faster wireframe gen by @slimbuck in #5299
- Small fixes to WebGPU rendering to cubemap with mipmaps by @mvaligursky in #5301
Fixes
- [Fix] Apply VMS blur to spot lights when clustered lighting is off by @mvaligursky in #5288
- Http guess json type by @slimbuck in #5271
- Disable GPU particles on Mali G52 due to rendering artifacts by @yaustar in #5255
- Fix VSM shadows by @slimbuck in #5284
- Remove destroyed asserts in render target as grab pass re-uses it when resizing by @mvaligursky in #5206
- Aces2 exposure fix by @slimbuck in #5216
- Replace the use of deprecated Vec3.scale by Vec3.mulScalar in camera scripts by @mvaligursky in #5220
- sound currentTime needs to be called before state change by @yaustar in #5241
- Check for ior 0 by @slimbuck in #5239
- [Fix] Fix to incorrect clearing of temp arrays by @mvaligursky in #5245
- Fixed bug where raycast filter tags caused exception by @yaustar in #5248
- Fixed a typo in a warning message about missing color texture. by @mvaligursky in #5257
- Clean up event listeners on anim clip destroy by @yaustar in #5260
- Add null check before unbinding events sprite animation clip by @yaustar in #5272
- Remove Material Asset on Material change by @MushAsterion in #5109
- Limit allowed samples on WebGPU when using multisampled render target by @mvaligursky in #5277
- WebGPU device correctly initializes ‘supportsStencil’ by @mvaligursky in #5290
Examples
- Update Dependencies by @ellthompson in #5214
- Converted Physics examples to use createGraphicsDevice and work on WebGPU by @mvaligursky in #5222
- Examples load envLighting without mipmaps by @mvaligursky in #5300
- Renamed disabled debug mode “Normal” to “None” to avoid confusion with WorldNormals by @mvaligursky in #5302
Full Changelog: v1.62.2...v1.63.0