Skip to content

Latest commit

 

History

History
147 lines (97 loc) · 7.05 KB

File metadata and controls

147 lines (97 loc) · 7.05 KB

2.0.0 (Apr 14, 2026)

LOD System (details coming soon)

0.1.10 (Oct 24, 2025)

SOG v2 support, new examples and bug fixes

Enhancements

  • SOGSv2 (SOG) compression format support (#179) (@mrxz)
  • Use DecompressionStream for decompressing .spz files for faster loading times (#181) (@mrxz)
  • Make WASD default control for viewer (#6d7d801) (@dmarcos)
  • Add minPixelRadius property to discard splats during vertex shader (#184) (@mrxz)
  • Docs enhancements (@querielo)
  • Interactive holes example (#189) (@kali-shade)
  • Interactive ripples effect (#194) (@kali-shade)
  • Support logarithmic depth buffer (#199) (@Philipp-M)

Bug fixes

  • Issue preventing the splats from being updated when they should. (#191) (@mrxz)
  • Make bash script conform to "standard" (#197) (@Philipp-M)
  • Fix issue with splats rendered at incorrect position for a few frames (#200) (fix #192, #193) (@mrxz)

0.1.9 (Sep 22, 2025)

Performance improvements, SPZ v3 support, new splat transition and reveal effects, brush painting / erasing splat example.

Enhancements

  • New splat transition effects (#172) (@kali-shade)
  • New splat reveal effects (#153, #149) (@kali-shade)
  • Add support for SPZ v3 (fix #151) (#171) (@gwegash, @dmarcos)
  • Reduce small memory allocations when loading ply files (#147) (@mrxz)
  • Improve .ply parsing speed using compiled parser function (#150) (@mrxz)
  • Add support for ortographic rendering (#157) (@mrxz)
  • Make sure all examples resize when the window is resized (#155) (@mrxz)
  • Call gl.flush() to encourage eager execution. SparkRenderer.updateInternal was not immediately executed (#156) (@mrxz)
  • Use child mesh in SplatMesh to auto-inject SparkRenderer instead of monkey-patching (#158) (@mrxz)
  • Pre-compute lookup tables when parsing SOGS files (#159) (@mrxz)
  • Avoid allocating THREE.Quaternion instances in setPackedSplat (#160) (@mrxz)
  • Use native Float16Array to encode a number as a float16 if available. (#161) (@mrxz)
  • Splat brush painting / brush erasing example (#165) (@winnie1994)

0.1.8 (July 31, 2025)

Bug fix + SplatMesh bounding box calculation.

Bug fixes

  • Fix SH encoding scale factors (#142) (@asundqui, @mrxz, @heimeii)
  • Calculate a SplatMesh's bounding box! SplatMesh.getBoundingBox() (#126) (@winnie1994)

0.1.7 (July 30, 2025)

Image quality and performance improvements.

Enhancements

  • Customizable splat encoding ranges (rgb, sh1, sh2, sh3) for wider range of colors and scales support improving contrast and color reproduction. Expose premultipliedAlpha flag to use when accumulating splat RGB (#134) (@asundqui)
  • Experimental Stochastic splat ordering option. Faster rendering since sorting no longer needed but with some visual quality tradeoffs (#8f5596e) (@asundqui)
  • Higher precision mode (float32) for splat sorting in addition to the default one (float16). Addresses z-fighting issues between splats (@asundqui, @mrxz) (#129)
  • Allow decoding and parsing of SOGS images to happen in parallel (@mrxz) (#122)
  • New splat shaders effect example (#141) (@kali-shade)
  • Expose minAlpha and maxPixelRadius in the SparkRenderer parameters (#130) (@asundqui)
  • Tree-shaking on worker code (@mrxz) (#118)
  • Add JSDocs to docs (@mrxz) (#123)
  • Use THREE.js built-in full screen quad instead of custom setup to cover the entire render target (@mrxz) (#121)
  • Redunce bundle size by removing anyhow::anyhow dependency (#127) (@asundqui)

Deprecations

  • Remove SparkRenderer blending parameter. Rely instead on THREE.js built-in support for premultipliedAlpha that sets the right blending mode automatically (#136) (@mrxz)

0.1.6 (July 11, 2025)

Visual quality improvements, .zip sogs file support, bug fixes.

Enhancements

  • Can load SOGS compressed splats packaged in a .zip file (#100) (@asundqui)
  • Rename SparkRenderer renderScale parameter to focalAdjustment (#113) (fix #99) (@asundqui, @mrxz)
  • Use OffscreenCanvas and WebGL2 context to decode webp SOGS images instead of 3rd party dependency (#90) (@mrxz)
  • Animated transitions between splats example (#69) (@winnie1994)
  • Example of loading a SOGS compressed splat (@dmarcos, @vincentwoo, @61cygni)
  • Expand value range of internal splat encoding to improve visual quality. Lower zero cut-off to retain and render small splats. (#110) (@asundqui, @mrxz)

Bug fixes

  • Fix visible property of SplatMesh not having effect. (fix #77) (#100) (@asundqui, @cyango)
  • Add missing sh1 and sh2 support to SOGS compressed support (fix #108) (#109) (@lucasoptml)
  • Prevent unintentional reuse of ArrayBuffer on concurrent file requests or hits to THREE.Cache. Replace use of THREE.FileLoader with fetch API (#94, #112) (fix #93) (@mrxz, @asundqui)

0.1.5 (July 1, 2025)

Visual quality improvements and SOGS support

Enhancements

  • Add support for SOGS compression format 3D Gaussian Splatting (#73) (@asundqui)
  • Change splat shapes by using any RGBA texture to compute the Gaussian falloff (#79) (@asundqui)
  • Use RenderTarget properties to reduce manual render state tracking (#80) (@mrxz)

Bug fixes

  • Visual quality, Fix .ksplat decoding (fix #66) (@asundqui)
  • Visual quality, Fix Spherical Harmonics not included in SPZ transcoding (fix #66) (#83) (@asundqui)
  • Visual quality, Fix incorrect calculation of renderer size. Especially improves rendering in high DPI displays (#71) (@mrxz)
  • Fix support of compressed .ply files exported from SuperSplat. Newer versions include min/max_r/g/b properties in the header that were not parsed (#82) (@asundqui)

0.1.4 (June 24, 2025)

Enhancements

  • Ability to render depth and normal values (#58) (@asundqui)
  • New parameters to change renderer focal distance and aperture angle (#59) (@asundqui)
  • GLSL code injection example (#56)
  • WebXR example (#50)

Bug fixes

  • Option to disable SparkControls camera roll for touch controls (fix #46) (#60) (@asundqui)
  • Fix sign in SH2 coefficient signs improving visual quality (#64)

0.1.3 (June 11, 2025)

Fix types export in npm package.

0.1.2 (June 10, 2025)

It removes unnecessary dependencies from npm package.

0.1.1 (June 10, 2025)

Bug fixes

  • Fix compressed .ply files by gsplat not loading (#34) (@bolopenguin, @asundqui)
  • Fix image quality rendering with mostly transparent splats (#36) (@hybridherbst, @@asundqui)
  • Fix SplatMesh not rendering when it's a child of an Object3D (#38) (@dmarcos)

0.1.0 (June 2, 2025)

First release