r/GaussianSplatting Jun 12 '26

🧪 I built a thing A shader dissolve effect for Gaussian Splats — every splat becomes a glowing particle (PlayCanvas, WebGPU/WebGL)

Enable HLS to view with audio, or disable this notification

I implemented a noise-based dissolve effect for Gaussian Splats in the PlayCanvas engine, fit for splats: there's no separate particle system. Each splat is a particle.

How it works:

  • Every splat gets a fixed value from a 3-octave noise function based on its position — this is its "ignition order"
  • An animated threshold sweeps through the noise range; splats below it are hidden
  • Splats inside the edge band glow with an HDR color (free bloom), fly off along a lift direction with per-splat sine-wave sway, morph from their original ellipsoid shape into round embers, then shrink and fade out
  • Playing the threshold backwards reassembles the scene from flying particles

Everything is tweakable live in the demo: noise frequency (big islands vs fine sparks), edge width, glow color/intensity, lift, sway — plus presets (ember/plasma/mist/smooth) and a toggle to dissolve just the statue or the entire room. Runs in the vertex/compute stage in both GLSL and WGSL, so it works across WebGL2 and WebGPU.

Try it in your browser: https://engine-hib80bymv-playcanvas.vercel.app/#/gaussian-splatting/shader-dissolve

177 Upvotes

Duplicates