28 Commits

Author SHA1 Message Date
Noeri Huisman 15318d7016 Add minPixelRadius to skip splats below a given pixel radius (#184) 2025-09-29 09:16:38 -07:00
Noeri Huisman 2defaf3f64 Add support for loading SOGSv2/SOG (#179) 2025-09-25 08:24:41 -07:00
Noeri Huisman 0c07ee2fd4 Use child mesh in SplatMesh to auto-inject SparkRenderer instead of monkey-patching (#158) 2025-09-15 14:54:50 -07:00
Winnie Lin 0705207bdc Bounding box helper function (#126)
* bounding box implementation

* set default bbox to center-based computation

* [bbox] clean up bbox and editor logic

* [bbox] add error handling and documentation
2025-07-31 15:01:18 -07:00
Andreas Sundquist b39cf3873f Fixed rendering, moved examples/editor option under Debug. Updated spark-viewpoint.md. 2025-07-31 14:24:48 -07:00
Andreas Sundquist d707f283f5 Working prototype. Initialization not consistent. 2025-07-31 14:24:48 -07:00
Andreas Sundquist df6b1d8f4a Checkpoint 2025-07-31 14:24:48 -07:00
Andreas Sundquist a5f9ca4813 Externalized SparkRenderer.maxPixelRadius and .minAlpha settings. Added to documentation. Added to examples/editor under Debug folder, moved sort32 there. 2025-07-31 14:24:48 -07:00
Andreas Sundquist e82346cbd5 Add 32-bit float sort via SparkViewpooint.sort32, using 2-pass radix-65536 sort. Turn on sort32 by default for examples/editor. Implemented Rust sort and JS sort, updated benchmarking code to include float16 and float32 sort. 2025-07-31 14:24:48 -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 5eb57038b4 Externalize render settings minAlpha and maxPixelRadius (#130)
* Add commented benchmarkSort to compare JS vs Wasm sorting.

* Add 32-bit float sort via SparkViewpooint.sort32, using 2-pass radix-65536 sort. Turn on sort32 by default for examples/editor. Implemented Rust sort and JS sort, updated benchmarking code to include float16 and float32 sort.

* Add sort32 to docs/spark-viewpoint.md.

* Externalized SparkRenderer.maxPixelRadius and .minAlpha settings. Added to documentation. Added to examples/editor under Debug folder, moved sort32 there.
2025-07-22 03:15:13 +02:00
Andreas Sundquist 0bfb6c8963 Implement float32 sorting option (#129)
* Add commented benchmarkSort to compare JS vs Wasm sorting.

* Add 32-bit float sort via SparkViewpooint.sort32, using 2-pass radix-65536 sort. Turn on sort32 by default for examples/editor. Implemented Rust sort and JS sort, updated benchmarking code to include float16 and float32 sort.

* Add sort32 to docs/spark-viewpoint.md.
2025-07-21 17:47:41 -07:00
Andreas Sundquist 0639f2f963 Rename SparkRenderer.renderScale to focalAdjustment. Add to constructor options and to docs. (#113) 2025-07-11 21:59:05 -04:00
Andreas Sundquist bf10efcab0 Update SplatLoader to handle progress updates, both for main file and any extra files, aggregating totals. Misc. improvements to examples. (#112) 2025-07-11 17:09:38 -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 fea2e17cd0 Add background color selector to examples/editor. (#103) 2025-07-08 12:24:50 -04:00
Andreas Sundquist 4266db3259 PC SOGS decoding from .Zip archive (#100)
* Implement PC SOGS decoding from .zip file archive. Update viewer and editor to accept .zip files.

* Restore GL WEBP decoding.
2025-07-07 17:18:11 -07:00
Andreas Sundquist 179885595c Splat Texture (#79)
* Add experimental Splat Texture rendering and examples/splat-texture. Added star.png and heart.png to assets.json and to assets repo. Update examples/depth-of-field to compute from metric aperture size. Added SparkRenderer.renderScale debug parameter. Updated examples/editor: set default highDPI to true, added logFocalDistance, apertureAngle, refactored, grouped into debugFolder, default settings open, preset buttons for nonAA and AA settings.

* Set default highDpi in examples/editor to not(isMobile).
2025-07-01 07:57:34 -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 06b1564246 Set default enable2DGS to false. Update docs and include DoF focus blur settings. Make procedural-splats work better on Android. Fix touch controls on examples. (#65) 2025-06-24 00:42:38 -07:00
Andreas Sundquist 09bfa95bce Add preBlurAmount and blurAmount sliders to examples/editor. Move other settings out into main right gui panel. (#54) 2025-06-18 10:08:48 -07:00
Diego Marcos Segura 6ec3eb5f38 Fix import paths. sparkjs-dev to sparkjsdev 2025-06-10 13:41:16 -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 7a4142c62a Lower MIN_ALPHA from 0.01 to 0.5/255, the lowest conceivable value that could be encoded in a Uint8, allowing highly transparent objects to render better. (#37)
Add "sortRadial" option to Editor to allow toggling between radial and Z-depth sorting.
2025-06-06 12:53:19 -07:00
Andreas Sundquist 0045be0c39 Add stats.js for frame stats with toggle in GUI. (#32) 2025-06-03 13:22:03 -07:00
Diego Marcos Segura 47b2f4aea2 Remove debugger statements 2025-06-02 09:46:13 -07:00
Diego Marcos Segura 3a31f7428c Fix example title 2025-06-02 04:51:47 -07:00
Diego Marcos Segura 1051e066af Simplify viewer. Move old one to editor 2025-06-02 03:56:06 -07:00