Breaking changes
- [BREAKING] UI Scroll Views now work in XR by @yaustar in #4940
- [BREAKING] Quad render class, drawQuadWithShader refactor, Camera render events moved. by @mvaligursky in #4988
New Features
- Use hardware device properties (fov) when in XR by @yaustar in #4837
- Optimize clustered lighting shaders compilation time on Windows platform by @mvaligursky in #5012
- Update basis initialisation to work with facebook games by @slimbuck in #5016
- Include WebGPU support in all built targets by @mvaligursky in #5030
- Updated codebase to properly use WebGPU types by @mvaligursky in #5031
- Additional engine tracing related to frame timing by @mvaligursky in #4975
- Update to WebGL shader compilation and linking by @mvaligursky in #4964
- Added attributes parameter to createShaderFromCode by @mvaligursky in #4984
- Plane/Ray add copy/clone methods + prefer ownership over references by @kungfooman in #4925
- Properly deprecated Timer class by @mvaligursky in #4979
- Smaller PostEffect refactor and simplification, WebGPU support by @mvaligursky in #4996
- Updates to make PostEffects example working on WebGPU by @mvaligursky in #5004
- Transpile WebGPU SpirV shaders into WGSL by @mvaligursky in #5015
- Refactor all remaining posteffects to use drawQuad + simpler shader creation by @mvaligursky in #5002
- rollup: add JSDoc, spacesToTabs fix, improved debugging builds by @kungfooman in #4796
- Removed isDefined helper function by @mvaligursky in #4978
- Texture based morphing support for WebGPU by @mvaligursky in #4989
- Clustered light cookie textures works on WebGPU by @mvaligursky in #4991
- Deprecated property: Layer.renderTarget by @mvaligursky in #4994
- Improved documentation for Shader creation by @mvaligursky in #4997
- Clear DebugGraphics gpu call stack each frame by @mvaligursky in #5003
- Added public API notes for the container resource by @yaustar in #4999
- Rearanged members of ClusterLightData structure to eliminate padding by @mvaligursky in #5005
- Removed unneeded dirty flag set in XrManager by @yaustar in #5013
- Variable rename in the clustered lighting shader to avoid the use of reserved word by @mvaligursky in #5014
- Updated texture reprojection to work on WebGPU by @mvaligursky in #5021
- Added AnimCurve and AnimData back to API Docs by @MushAsterion in #5023
- Ignore custom .npmrc by @yak32 in #4954
- Tint compiler updated to newer version by @mvaligursky in #5025
- Improved shadow cascades for WebGPU by @mvaligursky in #5026
- Add support for building the API reference with Typedoc by @willeastcott in #5028
- Add types for WebGPU by @willeastcott in #5029
- Add field declarations for all core classes by @willeastcott in #5033
- Add MDN links to Typedocs for browser APIs by @willeastcott in #5034
- Optimize createMorphTargetCurves by @mvaligursky in #5035
- Optimize texture upload of morph targets by @mvaligursky in #5037
- Deprecate
createStyle
function by @willeastcott in #5040 - Switch Material to use field declarations by @willeastcott in #5041
- Added Container asset option skipMeshes, to ignore mesh loading from glb by @mvaligursky in #5046
Changes to Examples
- ShaderCompile engine example to be used as a test for shader compilation speed by @mvaligursky in #5000
- Examples browser dependency update by @ellthompson in #4974 #5010
- Shader*** examples updated to use createGraphicsDevice by @mvaligursky in #4981
- [Examples Browser] Build with local PCUI by @ellthompson in #4976
- Small polish to the ClusteredSpotShadows example by @mvaligursky in #4992
- Cleanup and improvements of ModelOutline example by @mvaligursky in #4993
- Multiple engine examples are converted to use createGraphicsDevice function by @mvaligursky in #5022
Fixes
- Load old material glossiness correctly by @slimbuck in #4967
- Remove energy conservation for ambient light when using the phong model. by @GSterbrant in #4968
- [Fix] Fix to non-clustered omni shadow rendering by @mvaligursky in #4972
- Small docs fix for XrDomOverlay by @yaustar in #4977
- Fixed Camera Component API docs for scissorRect by @yaustar in #4998
- [Fix] Fixed code examples for calculateTangents and calculateNormals by @mvaligursky in #4980
- [Fix] Fix to Grab-pass engine example on WebGL1 by @mvaligursky in #4983
- Fix shadow map using vertex normals. by @GSterbrant in #4985
- Sparse accessor fix by @slimbuck in #4986
- Exclude area lights LTC shader chunk if clustered area lights are disabled by @mvaligursky in #4990
- Fix for draco vertex colors, which are stored as 16 bit for some reason by @slimbuck in #5008
- Fixing Entities being cloned on attribute change by @MushAsterion in #5024
- Fix gravity test by @slimbuck in #5020
- Fix warnings from Typedoc build by @willeastcott in #5032
- Fix docs typos by @LeXXik in #5036
- Fix many issues with API reference links by @willeastcott in #5038
- [Fix] Fix to the way morph weight name is looked up by @mvaligursky in #5045
- Fix ao vertex colors by @slimbuck in #5047
New Contributors
- @MushAsterion made their first contribution in #5023
Full Changelog: v1.60.0...v1.61.0