Releases: mkkellogg/GaussianSplats3D
Releases · mkkellogg/GaussianSplats3D
Release v0.3.6: Support "anti-aliased" mode
- Support anti-aliased rendering mode, as described in this Nerfstudio thread: nerfstudio-project/gsplat#117. This will only work for models that have been trained with this mode enabled. Activated via
Viewer
parameter'antialiased': true
. halfPrecisionCovariancesOnGPU
is nowfalse
by default. It was causing issues for very small models.- Fixed bug with floating-point splat distance computation on GPU.
- Fixed bug with scene reveal not completing for very small models.
Release v0.3.5: Various small bug fixes and updates
Bug fixes:
- Scenes not fully revealed in standard loading (non-progressive) mode
- Vite integration errors due to
esbuild
not properly handling static class members in web workers
Updates:
- Removed hard-coded maximum render distance
- Added documentation to README about CORS with Vite
- Added
Viewer
constructor parameter for choosing scene reveal mode:sceneRevealMode
v0.3.4: Upgraded PLY support
- Support PlayCanvas' compressed
.ply
format. - Support progressive loading for standard
.ply
files and compressed.ply
files.
v0.3.3: Fix broken PLY load
Fixed a bug with loading .ply
files using Viewer.addSplatScene()
and Viewer.addSplatScenes()
v0.3.2: Control viewer rendering
The Viewer
class now accepts a new parameter renderMode
, which lets you control when the viewer renders. It is of the type RenderMode
:
const RenderMode = {
Always: 0,
OnChange: 1,
Never: 2
};
Always
is the default and will cause the viewer to render every frame.OnChange
will make the viewer only render when a visual element in the scene changes (camera position, camera orientation etc.)Never
prevents the viewer from doing any rendering
Additionally the new function Viewer.setRenderMode()
allows this setting to be changed at runtime
v0.3.1: Minor bug fixes for progressive loading
Small bug fixes for the progressive loading feature:
- Ensure loading progress bar is hidden when scene download is complete
- Ensure minimum splat alpha threshold is respected
v0.3.0: Progressive loading
Support progressive loading for .ksplat
and .splat
files. Support for streaming .ply
files will be included in a future release.
- Enabled via the
streamView
option toaddSplatScene
. It isfalse
by default to preserve existing behavior. - Currently streaming is only supported with the loading of a single scene; streaming of multiple scenes will be added in a future release.
- Enable
Viewer.dispose()
to be called while scene loading is in progress
Beaking Changes:
- Updated
.ksplat
format so that it can be streamed, and to allow for better compression, multiple scene sections, and an optimized layout that yields better sorting performance. Older versions of.ksplat
files will no longer be supported. showLoadingSpinner
parameter forViewer
constructor is nowshowLoadingUI
Thanks to @gotoeasy for helping me test this feature out and find bugs!
v0.2.3: Built-in WebXR support & various fixes
- Built-in support for AR and VR modes via WebXR, enabled via a Viewer constructor parameter: webXRMode. Thanks to @dlazares and @chrisirhc for doing the ground work.
- Added AR/VR demo in demo/vr.html
- Cleaned up and added documentation to the rendering code in order to better explain Gaussian-related computations.
- Cleaned up dependency issues in package.json. Thanks to @sxxov for pointing those out.
- Fix bug with specifying format when loading scene where SceneFormat.Splat was ignored. Thanks to @kgenots for finding the issue.
- Upgrade to Three.js v160
v0.2.2: General updates & bugfixes
- Added
Viewer.dispose()
to explicitly dispose of resources directly and indirectly held by the viewer. - Added parameter to scene loading functions to force splat scene format (
.ply
,.splat
, or.ksplat
). - Cleaned up raycasting code, now supports raycasting directly at splat ellipsoids.
- Fixed dynamic scenes demo to begin altering scene transforms after the viewer is ready.
v0.2.1: Scene transform bug fix
Small release containing a fix for a bug that caused scene transforms to be incorrectly applied.