Commit Graph

12 Commits

Author SHA1 Message Date
Noeri Huisman c6bb49d74d Use DecompressionStream for decompressing .spz files (#181) 2025-09-25 08:25:57 -07:00
Greg Ash ccd2dd1243 Add SPZ v3 smallest 3 quaternion encoding support (#171)
Co-authored-by: George Ash <george@nianticspatial.com>
2025-09-22 14:38:18 -07:00
Noeri Huisman f995e5cf66 Use Float16Array for to/fromHalf utilities if supported (#161) 2025-09-15 15:52:45 -07:00
Noeri Huisman 2d8b903f9d Avoid allocating THREE.Quaternion instances in setPackedSplat (#160) 2025-09-15 15:52:14 -07:00
Noeri Huisman 2f42e2e29c Reduce small memory allocations when loading ply files (#147)
* Replace for-of loops to reduce memory allocations in hot-path for ply loading

* Use temporary THREE.Quaternion and THREE.Vector instances to avoid allocations
2025-08-01 07:09:08 -07:00
Andreas Sundquist 7fb5d7920b Fix SH encoding scale factors (#144) 2025-07-31 15:50:11 -07:00
Andreas Sundquist f60c2b0cf9 Custom/extended splat encoding ranges, Premultiplied alpha for hyper-saturated colors (#134)
* Externalized SparkRenderer.maxPixelRadius and .minAlpha settings. Added to documentation. Added to examples/editor under Debug folder, moved sort32 there.

* Added SplatEncoding concept, applied individually to SparkRenderer (rgbMin/Max, lnScaleMinMax), SplatMesh (additionally sh1Min/Max, sh2, sh3). Updated examples/editor to control settings via gui. Updated all related code to pipe along settings where needed.
Added SparkRenderer.premultipliedAlpha to control blend mode and enable hyper-saturated color contributions by default.

* Fix SplatLoader not passing along encoding. Complete renaming to splat encoding.
2025-07-23 10:04:24 -07:00
Andreas Sundquist dc07e02a33 Expand internal splat scale encoding to e^[-12,9]. Lower zero cut-off to e^-30. Fix background color selection in editor. (#110) 2025-07-11 10:48:10 -07:00
Andreas Sundquist 36c3c61d0b Implementation PC SOGS file format loading via meta.json root file. Added webp dependency for accurate decoding. Updated viewer and editor to accept new file type. (#73) 2025-06-30 08:57:51 -07:00
Andreas Sundquist acb541cc4e Renamed "forge" to "spark". Updated meta-references and future domain. (#40) 2025-06-09 13:50:08 -07:00
Andreas Sundquist 156bbf400e SPZ writing, exporting, & viewer. Creates a new npm run to-spz which runs scripts/to-spz.js to convert any Gsplat input file to compress .spz. Also includes a configurable viewer examples/viewer that can load splats via drag-n-drop, from url query param, the URL text list, can edit sets of SplatMesh, and export composite .SPZ with some filters. Refactored some loading code from worker.ts to loader files so they can be called from Nodejs. Created api transcodeSpz with options to combine multiple source Gsplat files into one without losing coding quality along the way. 2025-05-26 22:31:28 -07:00
Diego Marcos 3332f609a9 Initial commit 2025-05-24 00:14:53 -07:00