Releases: playcanvas/engine
Releases · playcanvas/engine
v2.1.0
Major / Breaking changes
- [BREAKING] Skydome shader chunk changes + updates to FirstPerson example by @mvaligursky in #6991
- CameraFrame script, to expose a simple to use version for the engine and the Editor by @mvaligursky in #7011
Other changes
- Added few keywords to the package by @mvaligursky in #6892
- Improve ply parsing performance by @kemchenj in #6882
- Add support for assigning properties to script instances by @marklundin in #6787
- Allow per camera fog settings by @mvaligursky in #6899
- Propsal to update deprecated and removed functionality by @mvaligursky in #6900
- Improved error message when basis wasm is not loaded by @mvaligursky in #6901
- Option to apply SSAO during lighting instead of during postprocessing by @mvaligursky in #6907
- Refactored the API for RenderPassCameraFrame by @mvaligursky in #6916
- WebGPU partial support for multisampled RT using supplied depth texture by @mvaligursky in #6917
- Automatically store depth if RT is used with a user supplied depth buffer by @mvaligursky in #6918
- Update to ESLint 9 by @willeastcott in #6922
- Simplify ESLint config and enforce no-var rule by @willeastcott in #6923
- Migrate 18 ElementComponent unit tests from Karma to Node by @willeastcott in #6925
- Enable loading of texture assets in unit tests by @willeastcott in #6928
- Use
@template
onObjectPool
for actual types by @kungfooman in #6929 - Small cleanup of the WebGL MSAA buffer allocation code by @mvaligursky in #6931
- Update example file extension in CodeEditorDesktop.mjs by @marklundin in #6934
- Multisampled depth buffers can be shared between render targets on WebGPU by @mvaligursky in #6932
- Add
Vec2.HALF
,Vec3.HALF
andVec4.HALF
by @kungfooman in #6939 - RenderPass based SSAO works with multisampling by @mvaligursky in #6940
- Depth prepass now works with multisampling on WebGPU by @mvaligursky in #6945
- Small improvement to saturation control in compose pass to avoid clipping by @mvaligursky in #6962
- Texture Unit Tests via Skia-Canvas by @marklundin in #6944
- Tint color added to the color grading in the composite pass by @mvaligursky in #6967
- RenderPassCameraFrame exposes HDR formats by @mvaligursky in #6969
- Add support for Chrome HDR mode for WebGPU by @mvaligursky in #6980
- Add support for BC6H and BC7 texture formats, rename of two DXT formats by @mvaligursky in #6988
- Gizmo updates by @kpal81xd in #6992
- Improvements to non-clustered omni light shadows by @mvaligursky in #6998
- Improvement to layer handling by render passes by @mvaligursky in #7001
- Attach a label to WebGPU render pass encoder even in the release engine by @mvaligursky in #7003
- Update eslint config by @LeXXik in #7002
- #7004 Ensure outliner only adds enabled render components by @MAG-AdrianMeredith in #7006
- Refactored placeholder textures used by material loaded to a module by @mvaligursky in #7007
- Improved missing texture uniform error handling by @mvaligursky in #7008
- Avoid spam from AnimBinder regarding duplicate nodes by @mvaligursky in #7020
- Perform fuzzy test in material by @slimbuck in #7024
Fixes
- Prefilter fix by @slimbuck in #6894
- Fix 3D Gaussian Splat rendering in VR by @willeastcott in #6896
- [Fix] Correctly support sRGB DXT formats on WebGL by @mvaligursky in #6905
- Fix initialization of __attributes in ScriptType class by @marklundin in #6906
- [Examples/Vehicle] Fix Ammo null function error on restart by @kungfooman in #6902
- [Fix] Changing default value of SSAO during shader generation to false by @mvaligursky in #6910
- Ensure ScriptType members are initialized correctly by @marklundin in #6908
- WebXR: fix depth sensing for Oculus Quest v68+ by @Maksims in #6909
- Fix trigger crash by @LeXXik in #6926
- Back out arrow functions for Mocha tests by @willeastcott in #6927
- [Fix] Do not try to resolve color buffer if the RT does not have any, WebGL by @mvaligursky in #6919
- fixed broken cubemaps due to incorrectly sized params uniform by @MAG-AdrianMeredith in #6915
- Revert "Enable loading of texture assets in unit tests" by @marklundin in #6941
- fixed: incorrect texture being marked as srgb by @MAG-AdrianMeredith in #6938
- [Fix] Small fix to just introduced issue with MRT by @mvaligursky in #6947
- [Fix] Fix of WebGPU not correctly matching render pipelines to render target requirements by @mvaligursky in #6952
- Small fog and shader generation fixes when custom render passes are used by @mvaligursky in #6956
- Fix typo by @slimbuck in #6961
- Types fix by @slimbuck in #6963
- [Fix] Fix to reporting renderable support for float16 format by @mvaligursky in #6968
- [Fix] Stop transparent meshes to be rendered in depth prepass by @mvaligursky in #6972
- [Fix] RenderPassShaderQuad no longer destroys the shader by @mvaligursky in #6983
- Fix compound colliders by @LeXXik in #6979
- Gizmo fixes (#6997) by @kpal81xd in #6999
- Do not allow gizmo rendering to use debug output by @mvaligursky in #7009
- [Fix] Fix to area lights (disk, sphere) occasionally generating -Inf pixels by @mvaligursky in #7015
- [Fix] Remove recent fix from gizmo shader as not needed for engine v2 by @mvaligursky in #7017
- Fix/local-axis-gizmo-error by @MAG-ME in #7013
Examples
- OutlineRenderer and an engine example by @mvaligursky in #6898
- Examples error handling fix by @kpal81xd in #6957
- Examples thumbnail fix by @kpal81xd in #6958
- Examples engine bundled by @kpal81xd in #6959
- Examples host port update by @kpal81xd in #6960
- Change examples default serving port by @mvaligursky in #6970
- Update gsplat example shaders to latest structure by @slimbuck in #7021
- Regenerated thumbnails for the examples by @mvaligursky in #7025
New Contributors
- @MAG-AdrianMeredith made their first contribution in #6915
- @MAG-ME made their first contribution in #7013
Full Changelog: v2.0.0...v2.1.0
v1.74.0
What's New
- Support GS spherical harmonics by @slimbuck in #6946
- ESM Script class by @marklundin in #6950
Bug Fixes
- Gizmo scale fix v1 by @kpal81xd in #6830
- Fix an issue with light baking if the clustered lighting has shadows disabled by @mvaligursky in #6843
- CI + Updated ESLint for v1 by @kpal81xd in #6879
- fix touch event when target - is not an element by @Maksims in #6881
- Prefilter fix (engine v1) by @slimbuck in #6893
- Gsplat shader optimisations by @slimbuck in #6943
- Gsplat followup orientation and shader update by @slimbuck in #6954
Full Changelog: v1.73.5...v1.74.0
v1.73.5
v2.0.0
Major / Breaking changes
Major breaking changes are tracked in this ticket - use it also as a guide on what to do when you have issues: #6666
- [BREAKING] Removed WebGL1 support by @mvaligursky in #6295 #6299 #6300 #6297 #6297 #6305 #6306 #6311 #6314 #6313 #6312 #6318 #6320 #6322 #6321 #6319 #6325 #6327 #6329 #6330 #6336 #6356 #6398 #6406 #6688 #6793 #6810 #6872 #6873
- [BREAKING] Removed backwards compatibility for few functions by @mvaligursky in #6408
- [BREAKING] Remove deprecated
AudioSourceComponent
component by @mvaligursky in #6407 - [BREAKING] Remove support for legacy scripts by @mvaligursky in #6584
- [BREAKING] Initial cleanup of deprecated functionality by @mvaligursky in #6690
- [BREAKING] Changes to the HDR rendering by @mvaligursky in #6702
- [BREAKING] Colors of lights, fog and materials are always supplied in sRGB space, for both LDR and HDR by @mvaligursky in #6714
- [BREAKING]
BoundingBox
andOrientedBox
copy parameters in the constructor by @mvaligursky in #6691 - [BREAKING] Remove
flipv
code from glb loader by @slimbuck in #6747 - [BREAKING] Remove long time deprecated PHONG specular model by @mvaligursky in #6755
- [BREAKING] Remove energy conservation flag in standard material by @mvaligursky in #6756
- [BREAKING] Remove
StandardMaterial.diffuseTint
and simply always apply it by @mvaligursky in #6759 - [BREAKING] Remove
CURVE_CATMULL
andCURVE_CARDINAL
by @willeastcott in #6779 - [BREAKING] Remove StandardMaterial.emissiveTint and simply always apply it by @mvaligursky in #6762
- [BREAKING] Remove no longer needed shader defines:
SUPPORTS_TEXLOD
andSUPPORTS_MRT
by @mvaligursky in #6795 - [BREAKING] Remove
StandardMaterial.ambientTint
by @mvaligursky in #6805 - [BREAKING] Remove
StandardMaterial.sheenTint
by @mvaligursky in #6809 - [BREAKING]: Remove
pc.apps
,pc.common
,pc.config
,pc.data
by @willeastcott in #6814 - [BREAKING] Remove
pc.type
by @willeastcott in #6816 - [BREAKING] Gizmo constants by @kpal81xd in #6826
- [BREAKING] Implementation of
ShaderMaterial
- Material to be used with custom shaders by @mvaligursky in #6831 - [BREAKING] Remove
StandardMaterial.sheenGlossTint
by @mvaligursky in #6841 - [BREAKING] When material is cloned, its custom parameters are copied as well by @mvaligursky in #6844
- [BREAKING]
BasicMaterial
has been deleted by @mvaligursky in #6857 - [BREAKING] More general instancing by @mvaligursky in #6867
- [BREAKING] Instancing no longer ignores the model matrix by @mvaligursky in #6883
- [BREAKING] Remove no longer needed
drawTexture
by @mvaligursky in #6886 - [BREAKING] Remove support for
Layer.renderTarget
and some callbacks on the Layer by @mvaligursky in #6888 - [BREAKING] Adjusted the alpha part of the normal blend used by the Materials by @mvaligursky in #6889
- [BREAKING] Remove deprecated uniform for grab pass textures:
uDepthMap
andtexture_grabPass
by @mvaligursky in #6796
Build changes
- Include unbundled engine source in npm package by @kpal81xd in #6310
- Disable treeshaking polyfills by @kpal81xd in #6332
- Bundled build options by @kpal81xd in #6296
- Build fixes by @kpal81xd in #6340
- Fix
buildUrl
relative path support by @erikdubbelboer in #6354 - Add webpack ignore by @marklundin in #6359
- Only publish to npm when the pushed tag matches our version tag. by @slimbuck in #6399
- Publint CI by @kpal81xd in #6363
- Public vercel previews by @kpal81xd in #6600
- Treeshake plugin fix by @kpal81xd in #6601
- Bumps package.json to 2.0.0-dev by @marklundin in #6719
- Adds NPM 'alpha' identifier by @marklundin in #6722
- Fix npm publish tag variable by @marklundin in #6740
- Update alpha publish by @slimbuck in #6760
- Keep correct paths for build output even when build is invoked outside of repo root by @liamdon in #6589
- Updated ESLint config by @kpal81xd in #6877
Other changes
- New texture formats: R8 and RG8 by @mvaligursky in #6602 #6649
- Remove references to
pcx
namespace by @willeastcott in #6304 - Update Graphics markers to display better with hierarchy by @mvaligursky in #6290
- Remove uniform buffer based skinning and batching by @mvaligursky in #6324
- Gizmo cleanup and bug fixes by @kpal81xd in #6323
- Small refactor to separate composition update from framegraph building by @mvaligursky in #6333
- Initial refactor to how bind groups can be used with non-persistent UBs by @mvaligursky in #6341
- Updated the way WebGPU dynamic UBs are used for rendering by @mvaligursky in #6349
- Revert "Add Script alias (#6237)" by @marklundin in #6355
- Added docs for supported HDR formats by @mvaligursky in #6351
- Reordered export types by @kpal81xd in #6362
- Small JSDoc normalization/fixes by @kungfooman in #6369
- Update GS rendering v2.0 by @slimbuck in #6357
- Functionality to async-read texture from GPU on WebGPU by @mvaligursky in #6370
- Render compressed GS data by @slimbuck in #6371
- Refactor of the
RenderPassCameraFrame
by @mvaligursky in #6400 - Support for
Picker
on WebGPU by @mvaligursky in #6393 - USDZ / GLTF exporter supports exposing of compressed textures on WebGPU by @mvaligursky in #6394
- Gizmo orthogonal facing direction translation by @kpal81xd in #6607
- Shader chunks type by @kpal81xd in #6621
- Docs update by @LeXXik in #6631
- First person script update by @kpal81xd in #6640
- GraphNode
setPositionAndRotation
by @kpal81xd in #6625 - RenderPass based SSAO by @mvaligursky in #6657
- Small refactor in a way bloom render pass is managed by @mvaligursky in #6683
- Allocate smaller WebGPU dynamic buffers by @mvaligursky in #6682
- When glslang transpilation fails on WebGPU, add stack trace to the error message by @mvaligursky in #6681
- Add JSDoc for getters by @willeastcott in #6685
- Update to HDR rendering used by the RenderPassCameraFrame by @mvaligursky in #6687
- Refactor shader cache implementation for the mesh instance by @mvaligursky in #6696
- Texture property changes flags by @heretique in #6697
- More descriptive shader names for Particle Emitter simulation shaders by @mvaligursky in #6701
- Small updates to the ModelOutlineExample by @mvaligursky in #6703
- Remove
app#context
backwards compatibility for scripts 1 by @willeastcott in #6704 - Remove remnants of
GraphNode
label API by @willeastcott in #6705 - Tweaks to
XrAnchor
source by @willeastcott in #6706 - Improve typings and docs for
XrPlane
by @willeastcott in #6708 - Allow components ordering by @LeXXik in #6648
- Clear references of temporary ar...
v1.73.4
Full Changelog: v1.73.3...v1.73.4
v1.73.3
Full Changelog: v1.73.2...v1.73.3
v1.73.2
v1.73.1
v1.73.0
What's Changed
Bug Fixes
- Stencil clearing was not setting up the mask correctly (#6778)
- Fix WebXR depth sensing on quest 3 (#6774)
- Update Tags class to use spread instead of arguments (#6775)
- Use object destructuring with vectors (#6777)
- Minor refactor of Curve class (#6780)
- Array length fix (#6823)
Full Changelog: v1.72.1...v1.73.0