Releases: playcanvas/engine
Releases · playcanvas/engine
v2.10.3
v2.10.2
v2.10.1
v2.10.0
New features
- Updated few gsplat examples to use compressed version of the splat asset by @mvaligursky in #7823
- First Person script updates by @kpal81xd in #7829
- OrbitController zoom ownership by @kpal81xd in #7833
- Add support for baseVertex in index buffer creation within wireframe generator by @AlexAPPi in #7834
- Removing redundant checks in ShadowRendererDirectional by @AlexAPPi in #7827
- Add control mesh shadow in individual cascade. by @AlexAPPi in #7837
- Add immediate flag to storage buffer read by @slimbuck in #7843
- Preprocessor: simple support for precedence parentheses in #if evaluation by @liamdon in #7790
- Enable highQualitySH by default by @slimbuck in #7846
- SOGS progress events by @slimbuck in #7847
- Support for fragmentOutputTypes for WebGPU by @mvaligursky in #7852
- Pack sogs data at load by @slimbuck in #7851
Bug fixes
- Fix grading issue by @slimbuck in #7818
- Fix mesh instance sort key when using drawBucket by @mvaligursky in #7819
- Default engine export fix by @kpal81xd in #7831
- Engine & Examples build fixes by @kpal81xd in #7830
- Sogs fix by @slimbuck in #7832
- Bunde load omit include credentials by @kpal81xd in #7836
- Input source codes fixes by @kpal81xd in #7842
- [Fix] Fixed particle shader generation for cpu based particles by @mvaligursky in #7845
- [Fix] Fix to morphing using incorrect shader when multiple morph meshes are used by @mvaligursky in #7848
- [Fix] Change the default semantic to a different slot which does not map to tangents by @mvaligursky in #7849
- [Fix] CameraFrame preserves settings when handling layer being added or removed by @mvaligursky in #7850
- Fix for loading sogs without sh by @slimbuck in #7854
Full Changelog: v2.9.2...v2.10.0
v2.9.2
v2.9.1
Fixes
- Fix to grading issue by @slimbuck in #7818
- Fix to mesh instance sort key when using drawBucket by @mvaligursky in #7819
- Build fixes by @kbamrah in #7830
- Fixes to First person script by @kbamrah in #7829
- Fix to default exports by @kbamrah in #7831
- Sogs fix by @slimbuck in #7833
- Fixes to OrbitController zooming by @kbamrah in #7833
Full Changelog: v2.9.0...v2.9.1
v2.9.0
What's Changed
- Limit large gaussians by @slimbuck in #7781
- Support for indirect draw calls for WebGPU by @mvaligursky in #7777
- Add support for texture async write by @slimbuck in #7782
- Additional frustum culling events in order to better support indirect drawing by @mvaligursky in #7778
- Compute shaders preprocess the provided source code by @mvaligursky in #7783
- fastExp implementation for gsplat rendering by @slimbuck in #7784
- Remove platform/audio by @willeastcott in #7774
- Support gsplat worker on nodejs by @slimbuck in #7770
- Implementation of baseVertex support by @AlexAPPi in #7765
- Inputs overhaul (CameraControls updated) by @kpal81xd in #7779
- First Person Script & InputSource updates by @kpal81xd in #7792
- Beta builds (manual trigger) by @kpal81xd in #7798
- Add asset load event by @slimbuck in #7803
- Add fast render path for SOGS spherical harmonics by @slimbuck in #7796
- Gizmo WGSL shaders by @kpal81xd in #7804
- Grids script WGSL Shader by @kpal81xd in #7805
- Quat tests by @kpal81xd in #7806
- toArray type overloading by @kpal81xd in #7808
- Slightly expanded functionality of Texture.resize by @mvaligursky in #7807
- Adds export conditions by @marklundin in #7810
- Updated jsdocs for Material class by @mvaligursky in #7813
- Split sorter code by @slimbuck in #7814
Fixes
- Hide PrimitiveMode example which is only for internal testing by @mvaligursky in #7768
- Fix doc types in rigidbody system by @AlexAPPi in #7773
- Fix to anisotropy-lamp example - layer order changed for sky to be captured by grab pass by @mvaligursky in #7775
- Sogs decompress fix by @slimbuck in #7786
- Fix shaderParticle assignment (#7787) by @michaelfranzl in #7788
- Fix WebGPU profiler by @slimbuck in #7793
- First Person Controller fixes by @kpal81xd in #7794
- Workflow Publishing fix by @marklundin in #7797
- ESM Template instantiate fix by @marklundin in #7809
- screenToWorld & worldToScreen camera rect by @kpal81xd in #7816
Full Changelog: v2.8.2...v2.9.0
v2.8.2
Fixes
- Sogs decompress fix by @slimbuck (#7786)
- Fix shaderParticle assignment by @michaelfranzl (#7787) (#7788)
Full Changelog: v2.8.1...v2.8.2
v2.8.1
Fixes
- Hide
PrimitiveMode
example which is only for internal testing by @mvaligursky in #7768 - Fix doc types in rigidbody system by @AlexAPPi and committed by @mvaligursky in #7773
- Support gsplat worker on Node.js by @slimbuck and committed by @mvaligursky in #7770
- Fix to anisotropy-lamp example - layer order changed for sky to be captured by grab pass by @mvaligursky in #7775
- Limit large gaussians by @slimbuck in #7781
- Add support for texture async write by @slimbuck in #7782
fastExp
implementation for gsplat rendering by @slimbuck in #7784
Full Changelog: v2.8.0...v2.8.1
v2.8.0
engine28.mp4
Breaking Changes
- [BREAKING] Deprecated
pc.createShader
andpc.createShaderFromCode
by @mvaligursky in #7657 - [BREAKING] Update gsplat component material API by @slimbuck in #7749
- [BREAKING] New public API to customize shader chunks (Material and global) by @mvaligursky in #7665
- [BREAKING] Removing non-functional depth pass by @mvaligursky in #7597
- [BREAKING] Feature:
KHR_materials_anisotropy
by @emadurandal in #7668
Changes
- Envmap and partial lighting works using WGSL by @mvaligursky in #7581
- Enable debug warning if the required uniform is null or undefined by @mvaligursky in #7582
- Convert many
StandardMaterial
front end and required backend chunks to WGSL by @mvaligursky in #7583 - Morphing uses texture array to store morph targets by @mvaligursky in #7584
- WGSL shaders support PCF shadows by @mvaligursky in #7586
- WGSL support for batching by @mvaligursky in #7590
- WGSL clustered cookies by @mvaligursky in #7591
- More gsplat inf checks by @slimbuck in #7592
- WGSL support for picker pass by @mvaligursky in #7594
- Improve Texture JSDocs (and some others) by @willeastcott in #7595
- Adds Script
scriptName
field by @marklundin in #7593 - Histogram sort for uncompressed gsplat by @slimbuck in #7596
- WGSL implementation of VSM shadows by @mvaligursky in #7599
- Removed unused
fullscreenQuadPS
chunk by @mvaligursky in #7600 - Revert recent types by @slimbuck in #7601
- WGSL implementation of soft shadows by @mvaligursky in #7602
- The built-in instancing works with WGSL by @mvaligursky in #7603
- WGSL version of remaining reflection chunks by @mvaligursky in #7606
- WGSL chunks for msdf and nine-sliced UI rendering by @mvaligursky in #7608
- WGSL version of few internal chunks by @mvaligursky in #7610
- IridescenceDiffraction chunk converted to WGSL by @mvaligursky in #7611
- WGSL version of
screenDepth
chunk and debug texture shaders by @mvaligursky in #7612 - WGSL version of
outputTex2DPS
chunk used by outline-renderer by @mvaligursky in #7613 - Use arrow functions in all example code by @willeastcott in #7615
- Improve JSDocs for
Geometry
classes by @willeastcott in #7617 - More incremental improvements to JSDocs by @willeastcott in #7619
- Improve
Gizmo
API docs by @willeastcott in #7620 - Improve
SoundSlot
API docs by @willeastcott in #7621 - Improve
ScreenComponent
API docs by @willeastcott in #7622 CoreExporter
image transformation uses WGSL shader on WebGPU by @mvaligursky in #7623- Applied fresnel-schlick Inf value fix to WGSL chunk by @mvaligursky in #7624
- WGSL version of LTC shader chunk used to evaluate area lights by @mvaligursky in #7625
- Lightmapping WGSL chunks by @mvaligursky in #7627
- Update NPM dependencies by @willeastcott in #7626
- Strip comments from the chunk before the validation by @mvaligursky in #7629
- WGSL version of an internal
floatAsUintPS
shader chunk by @mvaligursky in #7631 - Custom user chunks to customize lit / standard shaders by @mvaligursky in #7632
- Add static
scriptName
property to multiple script classes by @marklundin in #7633 - Update SWC options to target ES5 for UMD builds by @marklundin in #7635
- Fixed typo in shader ifdef from yesterday by @mvaligursky in #7637
- Add missing docs for
SoundSlot.EVENT_END
by @willeastcott in #7634 - Adds missing license header back into builds by @marklundin in #7646
- Particle system internal shaders use WGSL by @mvaligursky in #7647
- First few gsplat chunks converted to WGSL by @mvaligursky in #7648
- Converted remaining Gsplat shader chunks to WGSL by @mvaligursky in #7650
- Shader creation no longer supplies dummy shader in none is specified by @mvaligursky in #7651
- Renamed internal class
ShaderUtils
toShaderDefinitionUtils
by @mvaligursky in #7652 - Support for unfilterable texture in WGSL by @mvaligursky in #7655
- Renamed folder ‘chunks’ to ‘chunks-glsl’ by @mvaligursky in #7660
- Sogs updates by @slimbuck in #7662
- Wgsl GS chunk updates by @slimbuck in #7664
- Sogs load tweaks by @slimbuck in #7667
- docs: Document i18n's
change
event by @Christopher-Hayes in #7661 - Rename Key and Node classes by @willeastcott in #7653
- Speed up sogs centers calc by @slimbuck in #7669
- Release script update by @kpal81xd in #7663
- Strip comments from WGSL chunks by @mvaligursky in #7671
- Refactor entity rotation script: renamed class from EntityRotator to … by @marklundin in #7676
- Improved docs for the physical camera properties by @mvaligursky in #7680
- Improved docs for
Material.setDefine
by @mvaligursky in #7679 - SOGS chunks in WGSL format by @mvaligursky in #7681
- Sogs SH fix by @slimbuck in #7684
- Release script updates by @kpal81xd in #7685
- Sogs load fix by @slimbuck in #7687
- Render passes use WGSL chunks by @mvaligursky in #7690
- Publish workflow repo restriction by @kpal81xd in #7691
- Moved multiple examples from Graphics to Materials or Shaders folders by @mvaligursky in #7692
- Quad vertex chunk cleanup by @mvaligursky in #7693
- Using more recent addition to
createShader
API from chunks where possible by @mvaligursky in #7694 - Reorganized folders for chunks and their collections by @mvaligursky in #7695
- Gsplat fix by @slimbuck in #7696
- Some tiny cleanup by @mvaligursky in #7699
- Small tweaks to anisotropy examples by @mvaligursky in #7700
- Build visualizer output fix by @kpal81xd in #7701
- Break compose shader to chunks for easier customization + convert to WGSL by @mvaligursky in #7702
- Better version of
nearestPowerOfTwo
function by @mvaligursky in #7714 - Improved point rendering on WebGL2 by @mvaligursky in #7706
- Use camera inertia for anisotropy examples to match other examples by @mvaligursky in #7707
- Handling anisotropy material properties deprecation for the Editor / validations by @mvaligursky in #7708
- Internal
MapUtils.merge
to merge maps by @mvaligursky in #7709 WorldClusterDebug
compatibility with WebGPU by @mvaligursky in #7710- Support for treeflame (Flamegraph) build size visualisation by @mvaligursky in #7711
- Small chunks cleanup related to opacity by @mvaligursky in #7721
- Shader transpilers are optional now for WebGPU by @mvaligursky in https://github.com/playcanvas/engine/pull...