Skip to content

Commit e0c301c

Browse files
authored
Update README.md
1 parent ebca173 commit e0c301c

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# MetalSplatter
22
Render 3D Gaussian Splats using Metal on Apple platforms (iOS/iPhone/iPad, macOS, and visionOS/Vision Pro)
33

4+
![A greek-style bust of a woman made of metal, wearing aviator-style goggles while gazing toward colorful abstract metallic blobs floating in space](http://metalsplatter.com/hero.640.jpg)
5+
46
This is a Swift/Metal library for rendering scenes captured via the techniques described in [3D Gaussian Splatting for Real-Time Radiance Field Rendering](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/). It will let you load up a PLY and visualize it on iOS, macOS, and visionOS (using amplification for rendering in stereo on Vision Pro). Modules include
57
* MetalSplatter, the core library to render a frame
68
* PLYIO, for reading binary or ASCII PLY files (not writing yet, despite the name); this is standalone, feel free to use it if you just have a hankering to load up some PLY files for some reason.
@@ -10,12 +12,11 @@ This is a Swift/Metal library for rendering scenes captured via the techniques d
1012

1113
## Minimal early version
1214

13-
There are a lot of big pieces and optimizations missing here, it's still very much a work in progress, but
15+
There are a lot of optimizations missing here, it's still very much a work in progress, but
1416
I'm putting this out there in case there are any brave curious souls that want to tinker with it.
1517

1618
### TODO / general shortcomings
1719

18-
* Fix colors, which currently aren't quite correct
1920
* Reduce precision to improve memory usage
2021
* Precompute the covariance matrix, to slightly reduce memory usage and time spent in the vertex shader
2122
* Spherical harmonics
@@ -38,6 +39,11 @@ You're right, the documentation is entirely missing. I mean, it's kinda embarras
3839
4. Set your scheme to Release mode. Loading large PLY files is in Debug more than an order of magnitude slower.
3940
5. Run it
4041

42+
## MetalSplatter Model Viewer
43+
44+
There's a simple, official [MetalSplatter model viewer app](https://apps.apple.com/us/app/metalsplatter/id6476895334) based on this library,
45+
available on visionOS for Vision Pro (support for iOS/macOS is coming later). It's also called MetalSplatter, go figure.
46+
4147
## Acknowledgements
4248

4349
There are no external dependencies; and the basic math to render gaussian splats is straightforward (the basic representation has [been around for decades](https://en.wikipedia.org/wiki/Gaussian_splatting)), so there are a lot of great references around and I drew on a lot of 'em to try and understand how it works; there's really very little new here, the recent innovations are about training, not rendering. Nonetheless, I pretty much made every mistake possible while implementing it, and the existance of these three implementations was invaluable to help see what I was doing wrong:

0 commit comments

Comments
 (0)