Release v0.4.2: General updates
-
Updates targeting memory usage:
- Add ability to set the compression level of a
.ply
that's loaded into memory for rendering (not export to.ksplat
) via theViewer
parameterplyInMemoryCompressionLevel
. Previously it would be stored as an uncompressedSplatBuffer
, but now the compression level can be chosen and valid values are the same as when exporting to.ksplat
: 0, 1, or 2. Default is 2. - Add option to free intermediate splat data after a scene is loaded via the
Viewer
parameterfreeIntermediateSplatData
. When true, the intermediate splat data that is the result of decompressing splat bufffer(s) and is used to populate the data textures will be freed. This will reduces memory usage, but if that data needs to be modified it will need to be re-populated from the splat buffer(s). Default is false. - Reduced amount of memory needed by the sorting worker
- Add ability to set the compression level of a
-
Add ability to import reduced-memory version of INRIA
.ply
files (more info here: https://repo-sam.inria.fr/fungraph/reduced_3dgs/) -
Split spherical harmonics into multiple textures for large scenes
-
Add ability to toggle splat scene visibility or set the opacity of individual splat scenes.
-
Fixed bug preventing
Viewer.addSplatScene()
orViewer.addSplatScenes()
from working after scenes have already been added. -
Fixed sorting crash on iOS < 17.0 where SIMD is not supported in web assembly modules
-
Fixed bug with progressively loading dynamic scenes
Breaking changes:
- Changed
Viewer.addSplatScene()
parameter:streamView
toprogressiveLoad