Releases: playcanvas/engine
Releases · playcanvas/engine
v1.69.2
Fixes
- Moved callbacks inside appbase scope by @kpal81xd in #6149
- Typedoc hide exported classes by @kpal81xd in #6161
- Fix omni lights shadows on WebGPU @mvaligursky in #6165
- Removed circular dep file from package by @kpal81xd in #6168
- Fix the incorrectly exposed PostEffect type parameter by @battall and @mvaligursky and (#6167)
Full Changelog: v1.69.1...v1.69.2
v1.69.1
Fixes
- Modified regex for root path (example publish fix) by @kpal81xd in #6137
- [Fix] Fix the shader linking after the lost context has been restored. by @mvaligursky in #6146
- Add extras.mjs to exported files by @marklundin in #6153
- [Fix] reset internal cached state for face culling when the device is restored by @mvaligursky in #6155
Full Changelog: v1.69.0...v1.69.1
v1.69.0
What's Changed
- TAA reprojection by @mvaligursky in #6048
- Bundles Refactor by @Maksims in #5675
- Optimize shader processor by @mvaligursky in #6067
- Mesh collision improvements by @LeXXik in #5818
- Mesh collision optimization by @LeXXik in #6087
- Add support for R16F and RG16F texture formats by @mvaligursky in #6128
- Gizmo uniform scaling update by @kpal81xd in #5999
- Add API docs for MiniStats by @willeastcott in #6010
- Assign categories to constants by @willeastcott in #6012
- Fix some developer site links by @willeastcott in #6013
- Update some links embedded in the source by @willeastcott in #6014
- Update README files by @willeastcott in #6019
- Expose docs for GSplatResource and GSplatComponent by @mvaligursky in #6021
- Implement changes to WebGPU timestamp-query by @erikdubbelboer in #6001
- Double buffer TAA’s accumulation buffer in preparation for last frame reprojection by @mvaligursky in #6025
- Simplify RenderPassDepth to use automatic render target resizing provided by the base class by @mvaligursky in #6029
- Add support for debug rendering obbs by @slimbuck in #6023
- Extracted renderForwardLayer function to the renderer by @mvaligursky in #6031
- GSplat mateirlal can create a PICK shader pass version of the shader by @mvaligursky in #6033
- Load compressed ply elements by default by @slimbuck in #6034
- Small refactor to ForwardRenderer.renderForwardLayer to allow additional options by @mvaligursky in #6035
- Small clean up to depth rendering by @mvaligursky in #6037
- Don't upload texture if locked using TEXTURELOCK_READ by @liamdon in #6003
- Make sure render pass name is valid for derived classes by @mvaligursky in #6039
- WebXR - expose APIs to docs and some minor improvements by @Maksims in #6042
- RenderPassPrepass implementation by @mvaligursky in #6040
- Change ResourceHandler from interface to base class by @willeastcott in #5574
- Expose AppOptions and correct its types by @mvaligursky in #5986
- Gizmo grid and mesh shaders by @kpal81xd in #6036
- Add Asset category for API reference by @willeastcott in #6051
- publish on a new tag by @isumygin-sc in #6057
- dry run removed by @isumygin-sc in #6059
- Small cleanup of SkinInstance by @mvaligursky in #6064
- Resource Handler (handlerType in constructor) by @kpal81xd in #6068
- WebXR request hand-tracking for AR as well. by @Maksims in #6069
- Update to WGSL shader creation - formats are passed in the shaderDefinition by @mvaligursky in #6071
- Rename playcanvas-extras build by @marklundin in #6075
- WebXR - expose framebuffer scale factor by @Maksims in #6074
- Link WebGL shaders immediately after compilation by @mvaligursky in #6076
- WebXR FrameRate by @Maksims in #6077
- Remove es6 polyfills by @marklundin in #6079
- Refactor of the shader validation by @mvaligursky in #6081
- Small shader initialization cleanup / optimization by @mvaligursky in #6083
- Object entries polyfill by @marklundin in #6080
- Tech to allow async shader compilation, disabled by @mvaligursky in #6084
- Remove section on source maps from README by @willeastcott in #6086
- When WebGPU validation fails, current markers are logged out by @mvaligursky in #6089
- Assert when current version of Ammo does not implement now required triMesh.getIndexedMeshArray by @mvaligursky in #6092
- Add banner for single-file ESM bundles + fixing type error by @kungfooman in #6095
- Add rollup import transform by @marklundin in #6090
- Improvement to GPU markers reporting of render passes by @mvaligursky in #6096
- Vectorize the covariance calculation by @kemchenj in #6098 and #6100
- Allow graphics device to be provided to Application by @slimbuck in #6099
- WebGPU Transpiler absolute path by @kpal81xd in #6103
- Small change to splat shader in a way model matrix is used by @mvaligursky in #6101
- GPU optimization to gsplat rendering by @mvaligursky in #6104
- Added worker environment by @marklundin in #6108
- Update banner to mention MIT license by @willeastcott in #6111
- Update README files to show ESM usage by @willeastcott in #6112
- Tsc Types config cleanup by @kpal81xd in #6115
- BundleHandler max retries by @kpal81xd in #6118
- Tiny splat shader refactoring by @kemchenj in #6106
- Use more compact texture formats storing GSplat data by @mvaligursky in #6129
Fixes
- Fix material error on scale gizmo by @kpal81xd in #5998
- Export Gizmo constants correctly by @willeastcott in #6000
- Fix Gizmo nodes type by @willeastcott in #6008
- [Fix[ Fixed incorrect test for enabled shadow dithering by @mvaligursky in https://github.com//pull/6015
- [Fix] Temporary fix to lightmapper for WebGL by @mvaligursky in #6016
- Gizmo Ortho Rotation fixes by @kpal81xd in #6027
- Gizmo scaling fix by @kpal81xd in #6028
- [Fix] Fix to render composition update if multiple cameras use render passes by @mvaligursky in #6046
- typo by @slimbuck in #6054
- ResourceHandler type fix (constructor parameters) by @kpal81xd in #6063
- Fix issue with script name casing by @marklundin in #6066
- Added ES6 bundle output by @marklundin in #6073
- WebXR Fixed Foveation by @Maksims in #6078
- Fix ENV var target by @marklundin in #6091
- [Fix] WebGPU mesh rendering uses primitive.base correctly by @mvaligursky in #6093
- Engine export fixes by @kpal81xd in #6109
- ScriptType handlers type fix by @kpal81xd in #6123
- Revert "ScriptType handlers type fix" by @kpal81xd in #6125
- Removes source mappings from unbundled builds by @marklundin in #6121
- Adding globalThis typeof check by @marklundin in #6127
- Fix the render target release in the RenderPassDepth (WebGL1 only) by @mvaligursky in #6131
Examples
- Examples Overhaul by @kpal81xd in #6060
- Gizmo example JSDoc by @kpal81xd in #6002
- [Fix examples] Change the path to make sure it deploys by @mvaligursky in #6017
- Fix multi-app example by @erikdubbelboer in #6020
- Fix engine example ExampleOptions params by @erikdubbelboer in #6007
- Examples cleanup by @kpal81xd in #6005
- [Examples] Integer-texture (sand) Remove the quad mouse movement. by @mvaligursky in #6032
- Examples cleanup (2nd pass) by @kpal81xd in #6041
- Conve...
v1.68.2
v1.68.1
Bug fixes
- Fix multi-app example by @erikdubbelboer in #6020
- Expose docs for GSplatResource and GSplatComponent by @mvaligursky in #6021
- Gizmo Ortho Rotation fixes by @kpal81xd in #6027
- Constant gizmo size on canvas resize by @kpal81xd in #6028
- Update TypeDoc dependencies by @willeastcott
- [Examples] Integer-texture (sand) Remove the quad mouse movement by @mvaligursky in #6032
- GSplat material can create a PICK shader pass version of the shader by @mvaligursky in #6033
- Load compressed ply elements by default by @slimbuck in #6034
Full Changelog: v1.68.0...v1.68.1
v1.68.0
Changes
- Skydome projection to allow dome / box sky texture projections by @mvaligursky in #5886
- Opacity dithering support by @mvaligursky in #5903
- Updated dithered transparency to support blue noise by @mvaligursky in #5941
- Support for integer/data textures in WebGL2 and WebGPU by @liamdon in #5921
- Gizmo System by @kpal81xd in #5928
- WebGPU support for TextureArrays by @mvaligursky in #5861
- ESM ScriptType loading by @marklundin in #5963
- Introduction of RenderPassCameraFrame - pass describing typical render passes for the camera by @mvaligursky in #5881
- Compose render pass contains color grading by @mvaligursky in #5839
- Update scheduling of directional light shadow render passes to be compatible with manual render passes by @mvaligursky in #5845
- [ImgBot] Optimize images by @imgbot in #5838
- Color grab pass can be used for custom render pass rendering by @mvaligursky in #5866
- Vignette support in the Compose render pass by @mvaligursky in #5867
- Fringing / Chromatic Aberration added to render pass compose by @mvaligursky in #5870
- Depth bias support for WebGPU and refactor to add it to the DepthState by @mvaligursky in #5871
- Simplify and optimize some GraphNode find functions by @NewboO in #5850
- Add JSDoc typeof support via JSDoc plugin by @kungfooman in #5882
- Add JSDoc for extras/splat ply-reader/splat-material/splat by @kungfooman in #5868
- RenderPassRenderActions is renamed to RenderPassForward by @mvaligursky in #5890
- Small cleanup of deprecated functionality and default parameters by @mvaligursky in #5897
- No longer exporting deprecated LINEBATCH_ constants by @mvaligursky in #5898
- Exposing sky for Editor by @kpal81xd in #5901, #5904
- Remove unused Texture._isRenderTarget by @erikdubbelboer in #5913
- Call adjustVramSizeTracking for WebGPU textures by @erikdubbelboer in #5915
- WebGPU device exposes fragment/vertex-UniformsCount property by @mvaligursky in #5932
- Refactor of static functions of the LightsBuffer to avoid issues on the null device by @mvaligursky in #5935
- Remove type global function by @slimbuck in #5942
- Fixed name capitalization for Upsample and Downsample render passes by @mvaligursky in #5947
- Use function shorthand in objects by @willeastcott in #5948
- JSDocs for extras/exporters by @mvaligursky in #5954
- Add module docs by @willeastcott in #5959
- Remove VertexArrayObject polyfill for IE11 by @mvaligursky in #5957
- Partial support for Lightmapper on WebGPU by @mvaligursky in #5953
- Use spread to handle variadic args of path.join by @willeastcott in #5961
- Updated babel target list to exlude dead browsers (IE11) by @mvaligursky in #5962
- Small update to JSDocs of the exporters by @mvaligursky in #5965
- Expose EventHandle by @slimbuck in #5969
- Updated description for affectSpecularity by @kpal81xd in #5967
- Refactor JSDocs for events by @willeastcott in #5974
- Gizmo refactor by @kpal81xd in #5975
- Gizmos - Added render update event by @kpal81xd in #5981
- Gizmo view by @kpal81xd in #5984
- Improve TypeDoc categories by @willeastcott in #5977
- Avoid using WebGPU 'timestamp-query' which has been removed in Chrome 121 by @mvaligursky in #5990
- Removed GraphicsDeviceAccess class used for compatibility reasons by @mvaligursky in #5992
- Gizmo transform shape toggling by @kpal81xd in #5995
WebXR
- WebXR Raw Camera Access (color) by @Maksims in #5786
- WebXR Mesh Detection by @Maksims in #5791
- XrAnchors - Availability flag by @Maksims in #5879
- WebXR Input Source: linear velocity by @Maksims in #3060
- WebXR HitTestSource fix by @Maksims in #5887
- WebXR Depth Camera by @Maksims in #5848
- Add missing XR exports by @marklundin in #5971
- Sorts XR re-exports by @marklundin in #5972
Bug fixes
- Reverting recent glb alpha depth write change for transparent meshes by @mvaligursky in #5988
- Add Entity.findScript[s] functions by @NewboO in #5851
- Fix for video textures by @slimbuck in #5836
- Add additional texSubImage2d checks by @slimbuck in #5840
- Ensure screen scale is always valid by @NewboO in #5842
- WebXR handling WebGL context loss by @Maksims in #5849
- Corrected Spelling without Any Functional Changes by @arcadian-st in #5858
- Reproject fix by @slimbuck in #5860
- Disable antialiasing when running in Windows Firefox due to possible Firefox bug by @mvaligursky in #5857
- Adding browser check before calling Spector by @marklundin in #5874
- [Fix] Framebuffer clear flags on the Layer were not correctly used by @mvaligursky in #5875
- npm run docs: fix three errors and remove non-existed argument comment by @kungfooman in #5876
- [Fix] Fix compatibility with deprecated Layer.renderTarget by @mvaligursky in #5877
- Fix docs 404 for XrAnchorCreateCallback by @kungfooman in #5880
- Video fix by @slimbuck in #5896
- Fix to fringe offset to be independent of the render target resolution by @mvaligursky in #5911
- Fix thumbnail creation on Windows by @willeastcott in #5929
- Fix npm run build:thumbnails by @erikdubbelboer in #5919
- Correctly flip the depth texture in drawDepthTexture by @mvaligursky in #5930
- Fix some ShaderPass JSDoc by @kungfooman in #5926
- Store default instancing vertex format in device cache by @mvaligursky in #5936
- Fix typo: Change console.logWarn to console.warn in gltf-exporter.js by @yushimatenjin in #5950
- [Fix] Fix additional shaders getting processed on WebGPU by @mvaligursky in #5952
- Few additional dummy functions on the NullGraphicsDevice to handle engine examples failing. by @mvaligursky in #5956
- Fixes to automated testing to work without VAO extension by @mvaligursky in #5960
- Fix initial value of _assetReference in RenderComponent by @mvaligursky in #5970
- GSplat gizmo bug fixes by @kpal81xd in #5987
- Small fix just introduced related to updating splat instances by @mvaligursky in #5978
- Fix the Sky example - it no longer needs to registerPlyParser by @mvaligursky in #5979
- [Fix] DepthGrab now supports render target without stencil by @mvaligursky in #5994
Experimental features
- Move splat functionality from extras to core engine by @mvaligursky in #5968
- GSplatComponent that allows native integration of splat tech with the Entity by @mvaligursky in #5976
- Implementation of shader generator for Splat Materials supporting gamma and tonemapping options by @mvaligursky in #5900
- ...
v1.67.3
Fixes
- [Fix] Fix compatibility with deprecated Layer.renderTarget by @mvaligursky in #5877
Full Changelog: v1.67.2...v1.67.3
v1.67.2
Fixes
- [[Fix] Framebuffer clear flags on the Layer were not correctly used by @mvaligursky in #5875
Full Changelog: v1.67.1...v1.67.2
v1.67.1
Fixes
- Disable antialiasing when running in Windows Firefox due to possible Firefox bug by @mvaligursky in #5857
- Ensure screen scale is always valid by @NewboO in #5842
- Corrected spelling without functional changes by @arcadian-st in #5858
Full Changelog: v1.67.0...v1.67.1
v1.67.0
Pre-released features
- 3D Gaussian Splat support by @mvaligursky in #5785
- Custom render passes on a camera by @mvaligursky in #5741
- HDR physically based bloom + render pass examples by @mvaligursky in #5833
What's Changed
- Small cleanup of the way requested animation frames are handled by @mvaligursky in #5733
- Implementation of standalone render pass module that renders render-actions by @mvaligursky in #5734
- Refactoring to LayerComposition internal implementation by @mvaligursky in #5738
- chore: "no-else-return" lint warning in release.cjs by @epreston in #5748
- Buffer update speedup by @slimbuck in #5758
- Initial framework for compute shaders on WebGPU by @mvaligursky in #5757
- Examples es6 by @kungfooman in #5555
- Use subimage versions during texture update by @slimbuck in #5759
- [Fix] Fixed calling CameraComponent.onPostRender by @mvaligursky in #5763
- Support for storage textures on WebGPU platform by @mvaligursky in #5760
- Specify type definitions as dependencies by @willeastcott in #5766
- Make
npm run build
also triggernpm run build:types
by @kungfooman in #5768 - Bump actions/setup-node from 3 to 4 by @dependabot in #5773
- Support for FLOAT16 (half) vertex attribute format on WebGL2 and WebGPU by @mvaligursky in #5772
- WebXR manual room capture by @Maksims in #5774
- WebXR fix Hit Test providing multiple results by @Maksims in #5778
- WebXR Plane Detection - Semantic Label; Example; by @Maksims in #5795
- Examples: Use actual component to hide spinner by @kungfooman in #5782
- Fix collision initialization for container assets. by @jpauloruschel in #5799
- Fix to splats frustum culling by @mvaligursky in #5804
- Fixes RigidBody remove component by @marklundin in #5803
- Colorized particle texture used by the example to make its functionality more obvious by @mvaligursky in #5805
- WebXR Persistent Anchors by @Maksims in #5779
- Build webgpu module full from relative path by @slimbuck in #5802
- Splat updates by @slimbuck in #5808
- Expose custom shader modifications of the splat shader by @mvaligursky in #5809
- Allow asset to specify which ply elements to load by @slimbuck in #5810
- [Examples] Fix shader code indentation by @kungfooman in #5811
- Expose filter function instead of string list by @slimbuck in #5813
- (WIP) glTF export: improve material export by @querielo in #5762
- Support for Integer vertex attributes on WebGL2 by @mvaligursky in #5816
- Update to Splat engine example + small fixes by @mvaligursky in #5821
- WebGPU support for rendering to RG11B10 format by @mvaligursky in #5824
- [Fix] Fix texture / render target resize on WebGL2 by @mvaligursky in #5826
- Small update to render target resizing and texture utils by @mvaligursky in #5827
- [Fix] Webgl render pass sets up viewport even if not clearing the render target by @mvaligursky in #5828
- New GraphicsDevice.getRenderableHdrFormat function by @mvaligursky in #5830
- Support loading compressed ply format by @slimbuck in #5831
- Fix splat culling test by @slimbuck in #5834
- WebGL Texture2d array by @heretique in #5754
- Splat vshader fixes for webgl1 by @slimbuck in #5835
New Contributors
- @heretique made their first contribution in #5754
Full Changelog: v1.66.3...v1.67.0