Breaking changes
- Refraction index can be set to 0 without defaulting to 0.667. This means any material that is using 0 for this value may experience incorrect rendering and should reset it to the default value.
New features
- Organized source folders to better reflect the layered design of the engine by @mvaligursky in #4703 #4704 #4705 #4706 #4707 #4710 #4711 #4713 #4714 #4717 #4718 #4719 #4720 #4722 #4723 #4725 #4728 #4729 #4730 #4731 #4734 #4735 #4740 #4741
- Update to Rollup 3 by @willeastcott in #4801
- Implementation of
math.nearestPowerOfTwo
function by @mvaligursky in #4689 - Texture related improvements to glTF and USDZ Exporters by @mvaligursky in #4690
- Refactored
ProgramLibrary
to use theDeviceCache
by @mvaligursky in #4692 - Exposed build targets for rollup visualizers: network and sunburst by @mvaligursky in #4693
- Small refactor in the way
VertexBuffer
for post effects is created. by @mvaligursky in #4700 - Refactored
Shader#destroy
to avoid its dependency onProgramLibrary
by @mvaligursky in #4701 - Refactoring to remove dependency of
WebglGraphicsDevice
on shader chunks by @mvaligursky in #4702 - Enable lint checks for import statements by @willeastcott in #4708
- Convert extras to modules by @slimbuck in #4727
- Rollup plugin that logs imports from a library on a higher level by @mvaligursky in #4732
- Moved camera related functionality from
Frustum
toCamera
class by @mvaligursky in #4737 - Refactored out access to
getApplication
inMesh
,Morph
andScene
by @mvaligursky in #4738 - Remove response type warning from http by @slimbuck in #4744
- Anim folder circular dependency by @ellthompson in #4745
ShaderUtils
class to provide common shader creation functionality by @mvaligursky in #4746- Update README-kr.md by @kangjung in #4749
- Switch the Loaders/glb example to use physical units by @mvaligursky in #4752
- Shader compilation timing and avoid compilation of unprocessed shaders by @mvaligursky in #4753
- Shader generation code refactoring and unification by @mvaligursky in #4758
- Add missing material parameters by @GSterbrant in #4750
- Remove two circular dependencies from scripts by @mvaligursky in #4764
- Extracted
ScriptType
s fromScriptHandler
to avoid circular dependency by @mvaligursky in #4766 - Detect glb using file header by @slimbuck in #4768 #4781
- Improvements to clustered lighting shader compilation speed on Windows (DirectX) by @mvaligursky in #4761
- WebGPU rendering improvements for GLB test files by @mvaligursky in #4773
- Improvement to vertex attribute types for WebGPU by @mvaligursky in #4777
- Tracing console calls can print out the stack by @mvaligursky in #4808
- Improve error message when framebuffer validation fails by @mvaligursky in #4809
- Ensure READMEs use https for links by @willeastcott in #4811
- Add grab pass toggles as component attribute by @GSterbrant in #4814
- Small updates to get skinning to work on WebGPU device. by @mvaligursky in #4818
- Fix appearance of asset-viewer example by @GSterbrant in #4822
- Minor improvements to asset viewer example by @mvaligursky in #4823
- Add chunk validations for 1.58 by @GSterbrant in #4825
Fixes
GltfExporter
correctly handles multiple mesh instances per entity by @mvaligursky in #4683- Fix GLB punctual lights with physical units by @GSterbrant in #4691
- [Fix] Fix vertex shader attribute validation to support builtins by @mvaligursky in #4695
- Fixes sheen intensity by @GSterbrant in #4697
- Processing the animation data properties in the original order before PR #4174 by @yaustar in #4698
- [Fix]
GltfExporter
correctly exports buffer views for non-interleaved vertex data by @mvaligursky in #4699 - Fix lint issues in types-fixup.mjs by @mvaligursky in #4716
- Fix typo by @slimbuck in #4733
- Cleanup of
Entity
constructor to remove circular dependency by @mvaligursky in #4736 - [Fix] Switching directional light to a clustered local light works. by @mvaligursky in #4739
- Remove transmission factor gamma decoding by @GSterbrant in #4743
- Fix
cubeMapRotation
uniform by @slimbuck in #4748 - [FIX] Various spelling mistakes by @willeastcott in #4754
- [FIX] Check docs build with Actions and make fixes by @willeastcott in #4756
- Return a sensible value for animation component duration if no animation is playing by @yaustar in #4765
- Glb parser: duplicate morph curve fix by @ellthompson in #4771
- Downscale oversized ImageBitmaps by @slimbuck in #4783
AnimClip
event cursor fix by @ellthompson in #4785- Audio resume fix by @slimbuck in #4788 4789
- specify normal is swizzled by @slimbuck in #4790
- Fix disabling derivatives not generating
vObjectSpaceUpW
. by @GSterbrant in #4798 - [Fix] Fix the bounding sphere calculation for spot lights by @mvaligursky in #4800
- [Fix] Clustered lighting correctly supports light layers by @mvaligursky in #4799
- [Fix] Fix issue with baking clustered lights by @mvaligursky in #4810
Full Changelog: v1.57.1...v1.58.0