v2.11.0
playcanvas/enginev2.11.0Sep 3, 2025by mvaligursky
AI Summary
A major update introducing unified Gaussian Splatting rendering, support for the new SOG v2 format, and various enhancements to camera controls and gizmos.
Key Highlights
- Support for SOG v2 format
- Initial implementation of unified gsplat rendering
- Support for compressed sliced 3D texture formats on WebGPU
- Updates to Gizmo API and features
New Features
- Support for SOG v2 format
- Initial implementation of unified gsplat rendering
- Support for compressed sliced 3D texture formats on WebGPU
- Gizmo API changes
Full Release Notes
## Changes * Support SOG v2 format by @slimbuck in https://github.com/playcanvas/engine/pull/7929 * Initial implementation of unified gsplat rendering by @mvaligursky in https://github.com/playcanvas/engine/pull/7825 * Unified gsplat architecture is available to GSplatComponent by @mvaligursky in https://github.com/playcanvas/engine/pull/7861 * Unified gsplat rendering - changes to sorter job scheduling by @mvaligursky in https://github.com/playcanvas/engine/pull/7864 * Add progress for img loads by @slimbuck in https://github.com/playcanvas/engine/pull/7867 * Unified splats - do not generate global centers array on main thread due to cost by @mvaligursky in https://github.com/playcanvas/engine/pull/7868 * Generate intervals texture for unified splat copying on GPU by @mvaligursky in https://github.com/playcanvas/engine/pull/7881 * Initial implementaion of octree for unified GSplat rendering by @mvaligursky in https://github.com/playcanvas/engine/pull/7893 * Further work on LOD system for gaussian splatting by @mvaligursky in https://github.com/playcanvas/engine/pull/7911 * Unified gsplat - use render pass to update work buffer by @mvaligursky in https://github.com/playcanvas/engine/pull/7913 and https://github.com/playcanvas/engine/pull/7914 * Small cleanup in unified gsplat codebase by @mvaligursky in https://github.com/playcanvas/engine/pull/7934 * Unified splats - replaced temporary hardcoded distance ranged by proper evaluation by @mvaligursky in https://github.com/playcanvas/engine/pull/7936 * Tweak contributing guide and PR template by @willeastcott in https://github.com/playcanvas/engine/pull/7883 * Gizmo updates by @kpal81xd in https://github.com/playcanvas/engine/pull/7887 * Don’t destroy SOGS packing shader by @mvaligursky in https://github.com/playcanvas/engine/pull/7905 * Support for compressed sliced 3d texture formats on WebGPU by @mvaligursky in https://github.com/playcanvas/engine/pull/7904 * chore(deps): update actions/checkout action to v5 by @renovate[bot] in https://github.com/playcanvas/engine/pull/7902 * Gizmo features & fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7907 * Gizmo API changes by @kpal81xd in https://github.com/playcanvas/engine/pull/7910 * Gizmo style updates by @kpal81xd in https://github.com/playcanvas/engine/pull/7935 ## Bugfixes * Camera controls default attribute fix by @kpal81xd in https://github.com/playcanvas/engine/pull/7859 * Add backwards compatibility function by @slimbuck in https://github.com/playcanvas/engine/pull/7860 * Fixes ESM template clone issue by @marklundin in https://github.com/playcanvas/engine/pull/7863 * Fixed manual docs link to a valid url for shader migration by @mvaligursky in https://github.com/playcanvas/engine/pull/7866 * Android sogs fix by @slimbuck in https://github.com/playcanvas/engine/pull/7870 * [Fix] Fixed hight texture shader compilation by @mvaligursky in https://github.com/playcanvas/engine/pull/7885 * First Person Controller script fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7891 * Input source pointer fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7898 * Camera controls pan drift fix by @kpal81xd in https://github.com/playcanvas/engine/pull/7899 * Don’t allocate default clustered lighting textures when clustered lighting is disabled by @mvaligursky in https://github.com/playcanvas/engine/pull/7894 * Fix to particle alignment fix on WebGPU by @mvaligursky in https://github.com/playcanvas/engine/pull/7895 * Examples browser version fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7900 * Gizmo span line fix by @kpal81xd in https://github.com/playcanvas/engine/pull/7908 * Removed passing obsolete parameter to an internal function by @mvaligursky in https://github.com/playcanvas/engine/pull/7912 * [Fix] Changes to ParticleEmitter to properly destroy the meshInstance by @mvaligursky in https://github.com/playcanvas/engine/pull/7901 * Gizmo camera overlap fix by @kpal81xd in https://github.com/playcanvas/engine/pull/7916 * Gizmo infinity fix by @kpal81xd in https://github.com/playcanvas/engine/pull/7918 * Gizmo scale fixes by @kpal81xd in https://github.com/playcanvas/engine/pull/7919 * [Fix] ScreenComponent now copies screen.priority and scaleBlend properties by @mvaligursky in https://github.com/playcanvas/engine/pull/7931 * [Fix] - Fix related to behavior change where texture array no longer needs manual upload by @mvaligursky in https://github.com/playcanvas/engine/pull/7939 * Fix to CameraFrame script to not allow blurLevel of 0 by @mvaligursky in https://github.com/playcanvas/engine/pull/7941 * [Fix] Picker on WebGPU no longer creates a resource inside its render pass by @mvaligursky in https://github.com/playcanvas/engine/pull/7940 ## Examples * Global sorting gaussian splatting example using unified gsplat by @mvaligursky in https://github.com/playcanvas/engine/pull/7937 * Small fix for example shader by @slimbuck in https://github.com/playcanvas/engine/pull/7938 **Full Changelog**: https://github.com/playcanvas/engine/compare/v2.10.6...v2.11.0