Commit Graph

16 Commits

Author SHA1 Message Date
Andreas Sundquist df6b1d8f4a Checkpoint 2025-07-31 14:24:48 -07:00
Noeri Huisman 30f50aa9ee Use material.premultipliedAlpha to adjust blending function (#136) 2025-07-25 03:26:29 +02: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
Noeri Huisman c25dc354bc Use JSDoc for documenting SparkRenderer and SparkViewpoint options (#123) 2025-07-15 23:46:18 +02: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 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 42d1477cb6 Fix visible flag bug in SplatGenerator/SplatMesh. (#101) 2025-07-07 22:37:09 -04: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
Noeri Huisman 860b39a152 Use getDrawingBufferSize to determine renderer size (#71)
* Use `getDrawingBufferSize` to determine renderer size

* Add workaround for WebXR on Vision Pro.

---------

Co-authored-by: Andreas Sundquist <asundqui@worldlabs.ai>
2025-06-30 08:01:16 -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 db1e880ae1 Add focalDistance and apertureAngle to SparkRenderer. Add examples/depth-of-field. (#59) 2025-06-20 17:09:43 -07:00
Andreas Sundquist aca62084d6 Add types to SparkRenderer (#53) 2025-06-18 08:28:15 -07:00
Andreas Sundquist d4f174677c Add examples/webxr/ single-html example. Linked in index.html. Improved the experimental hands.ts interface. Fixed issue with single-camera WebXR. Added valley.spz to assets.json, added to assets repo. 2025-06-17 18:50:49 -07:00
Diego Marcos Segura 7d26284fbd Traverse object3D hierarchy looking for SplatMesh to create an implcit SparkRenderer (fix #38) 2025-06-09 15:58:12 -07:00
Andreas Sundquist acb541cc4e Renamed "forge" to "spark". Updated meta-references and future domain. (#40) 2025-06-09 13:50:08 -07:00