Releases: playcanvas/engine
Releases · playcanvas/engine
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
v1.66.3
Bug fixes
- [Fix] Fix issue with local lights using ‘static’ flag by @mvaligursky in #5800
- [Fix] When 0 size render target is used, print a warning @mvaligursky in #5815
- [Fix] Fixes to picker to properly set up camera @mvaligursky in #5814
Full Changelog: v1.66.2...v1.66.3
v1.66.2
Bug fixes
- JSDocs update - the device is non-optional parameter to the Mesh constructor by @mvaligursky in #5756
- jsdoc fix by @slimbuck in #5767
- [Fix] Fix the Picker to not depend on culled mesh instances as those can be out of date by @mvaligursky in #5783
- [Fix] When the defautl framebuffer is updates, refresh info about its format by @mvaligursky in #5784
- [Fix] When clustered shadows are disabled, Lightmapper does not render their shadows by @mvaligursky in #5792
- Improved warning message when grab textures are used but not generated by @mvaligursky in #5794
- [Fix] Webgpu sets up render pipeline format for multi-sampled buffer by @mvaligursky in #5796)
Full Changelog: v1.66.1...v1.66.2
v1.66.1
Bug fixes
- [Fix] Posteffect render targets were not resized correctly by @mvaligursky in #5723
- [Fix] World space aabb gets updated when local space aabb of mesh changes by @mvaligursky in #5726
- [Fix] Don’t delete the framebuffer owned by the context @mvaligursky in #5728
- [Fix] WebGPU can give us async mapped buffer after the device was destroyed, handle it by @mvaligursky in #5731
- Gracefully handle failing device creation by @slimbuck in #5721
- Workaround for webpack not building by @slimbuck in #5737
- [Fix] Make sure texture units are initialized by @mvaligursky in #5744
- Set model matrix when instancing by @slimbuck in #5747
Full Changelog: v1.66.0...v1.66.1
v1.66.0
Breaking changes
- EventHandle and option to disable EventHandler chaining. by @Maksims in #5481 breaks compatibility with Tween, see playcanvas/playcanvas-tween#42
Changes
- Refactor the internals of antialiasing / backbuffer on WebGL device by @mvaligursky in #5628
- NullGraphicsDevice implementation allowing to run the application without rendering by @mvaligursky in #5563
- GltfExporter supports BasicMaterial by @mvaligursky in #5562
- Refactor LayerComposition to avoid its update when mesh transparency changes / mesh is added by @mvaligursky in #5536
- Mat3 and Mat4 updates by @slimbuck in #5567
- chore(examples): address eslint warnings by @epreston in #5532
- chore(examples): rollup type completion - lint warnings by @epreston in #5539
- chore: update package-lock.json by @epreston in #5543
- chore: include localised readmes in npm package by @epreston in #5544
- Simplify some shadow penumbra math / avoid divide by zero by @mvaligursky in #5551
- Add WebXR types by @willeastcott in #5556
- WebXR Anchors by @Maksims in #3091
- Layer composition does not maintain list of shadow casters per light by @mvaligursky in #5540
- JSDoc: Remove redundant default param values by @willeastcott in #5566
- JSDoc: Modernize some blocks by @willeastcott in #5568
- WorldClusters allocation is now dynamic, removed from composition update by @mvaligursky in #5569
- Refactored and fixed the lightcube lighting for particle emitters by @mvaligursky in #5570
- Remove unneeded indirection using light indices by @mvaligursky in #5571
- Shader generators are converted to modules by @mvaligursky in #5552
- Cookie renderer refactored to use a single render pass by @mvaligursky in #5572
- Improvement to light sorting when layer light hash is generated by @mvaligursky in #5576
- Refactor shader caching to handle mesh instance on layers with different lights by @mvaligursky in #5582
- Vec and Quat source args by @slimbuck in #5575
- chore: speed up and clean up CI by @epreston in #5590
- Refactored the way LightComponent changes notify the LayerComposition by @mvaligursky in #5592
- Refactored shadow casting directional lights collection by @mvaligursky in #5593
- chore(examples): update playcanvas-spine.3.8.js by @epreston in #5600
- refactor(build): update rollup shaderChunks by @epreston in #5602
- chore(build): create .eslintrc.json in karma tests by @epreston in #5603
- Layer composition no longer handles lights by @mvaligursky in #5604
- Converted Picker to use render pass internally by @mvaligursky in #5608
- Added function: RenderTarget.resize by @mvaligursky in #5611
- Remove private Texture.getDds function that is no longer needed by @mvaligursky in #5612
- rollup-shader-chunks.mjs: simplify + fix template string bug by @kungfooman in #5613
- Add setAttribute to standard material by @LeXXik in #5607
- Refactor rendering in MiniStats by @mvaligursky in #5616
- Minor update to instancing example by @LeXXik in #5618
- Don't drop newline of single line comments by @kungfooman in #5617
- Added width and height to sprite component clone by @OlegGedzjuns in #5625
- Easy ES5 ES6 Distinguishability via file extension only by @kungfooman in #5623
- Renaming of internal variable to backBufferFormat by @mvaligursky in #5630
- MiniStats render on UI layer by @mvaligursky in #5631
- chore: update jsdoc comment by @epreston in #5634
- Vec2.rotate(degrees), Vec2.angle, Vec2.angleTo methods by @Maksims in #5622
- Refactor - do not create cookies render pass each time but reuse one by @mvaligursky in #5645
- Small internal refator to RenderPass to allow simpler override implementation by @mvaligursky in #5652
- Extracted generic render pass for a cookie renderer and picker to a new modules by @mvaligursky in #5653
- Adding glsl tags to internal shaders for syntax highlighting to work by @mvaligursky in #5654
- Extract the color grab functionality to a render pass by @mvaligursky in #5655
- Small internal refactor of the way camera is passed around for rendering by @mvaligursky in #5656
- Removed CookieRenderer by making it fully integrated into cookie render pass by @mvaligursky in #5658
- Renamed internal render pass function for consistency by @mvaligursky in #5660
- Compressed texture formats working on webgpu by @slimbuck in #5659
- Enable WebGPU support for TextureBasis engine example by @mvaligursky in #5661
- Internal variable renamed for consistency with next updates by @mvaligursky in #5666
- Fallback Webgl1 solution for depth grab is replaced by a RenderPassDepth by @mvaligursky in #5671
- Update basis binaries by @slimbuck in #5674
- Convert depth grabbing functionality on WebGL2/WebGPU to a render pass by @mvaligursky in #5673
- Add equalsApprox to vec2, vec3, vec4 (and tests) by @querielo in #5662
- Latest ammo module by @slimbuck in #5676
- Deprecate device.webgl2 in favor of device.isWebGL2 by @mvaligursky in #5678
- Small cleanup to the way antialiasing set up is handled by @mvaligursky in #5679
- Validate and enforce valid texture dimensions by @mvaligursky in #5683
- Improved handling of VSM32 on WebGPU by @mvaligursky in #5684
- chore(deps): update chai to ^4.3.10 by @epreston in #5696
- Fix scroll view touch events by @LeXXik in #5703
- Bump actions/checkout from 3 to 4 by @dependabot in #5701
- Better handling of gltf blend materials by @slimbuck in #5705
- feat(build): clean build folder before rebuilding all targets by @epreston in #5695
- Fire destroy event in AppBase#destroy by @kungfooman in #5693
- Add RenderTarget|null typing + remove dead code by @kungfooman in #5704
- New API: add a scaled vector by @LeXXik in #5702
- Ministats render size by @slimbuck in #5718
Bug fixes
- Fix to the LitShader compatibility handling by @mvaligursky in #5533
- Set ior when metalness is used by @slimbuck in #5534
- fix: jsdoc typo by @epreston in #5537
- fix(examples): update react app code by @epreston in #5545
- fix(examples): undefined imageEntity by @epreston in #5547
- [Fix] Avoid additional shaders creation caused by out of order lights by @mvaligursky in #5550
- Fix some consistent-return lint errors by @willeastcott in #5557
- fix(test): vec3.test.mjs by @epreston in #5559
- fix(examples): remove duplicate npm parameter by @epreston in #5560
- [Fix] Fix few shader chunks using removed IridescenceArgs struct by @mvaligursky in #5564
- Fix to lightmapper when no baking lights by @mvaligursky in https://github.com/playcanvas...
v1.65.5
Bug fixes
- (iOS 17) When the context is lost, silently ignore failed shader compilation by @mvaligursky in #5644
- (iOS 17) Handle basis wasm regression by @slimbuck in #5657
- Material prefiltered cubemap fix by @slimbuck in #5627
- handle null gl.getContextAttributes by jbromberg in #5667
Full Changelog: v1.65.4...v1.65.5
v1.65.4
Bug fixes
- [Fix] avoid null/undefined access on iOS when the context is lost by @mvaligursky in #5610
Full Changelog: v1.65.3...v1.65.4