A 3D Gaussian Splat viewer and gallery app for Apple platforms (iOS, macOS, visionOS), built on top of MetalSplatter.
- Multi-platform: Runs on iOS (iPhone/iPad), macOS, and visionOS (Apple Vision Pro)
- Gallery management: Import, organize, and browse your 3D Gaussian Splat files (.ply, .splat, .spz)
- Immersive visionOS experience: Full immersive space rendering with stereo vision on Apple Vision Pro
- Hand tracking gestures (visionOS): Two-hand pinch gestures for move, rotate, and scale
- Auto-rotation: Smooth oscillating rotation with easing for showcasing models
- Image to 3D conversion: Convert photos to 3D Gaussian Splats using the Sharp ML model
- Slideshow mode: Automatically cycle through your splat gallery
- Thumbnail generation: Automatic thumbnail previews for gallery items
- Xcode 16.0+
- Swift 6.0
- iOS 18.0+ / macOS 15.0+ / visionOS 2.0+
-
Clone the repository:
git clone https://github.com/user/SplatGallery.git
-
Open the Xcode project:
open SplatGallery/SplatGallery.xcodeproj
-
Select your target device and set your development team in Signing & Capabilities.
-
Set the scheme to Release mode for best performance (loading large files in Debug is significantly slower).
-
Build and run.
-
For best framerate, run the app without the debugger attached.
The image-to-3D conversion feature requires the Sharp ML model. To enable it:
- Obtain the
sharp_model.mlmodelccompiled Core ML model from the Sharp project. - Place the
sharp_model.mlmodelcdirectory in the project root (next toInfo.plist). - The model is listed in
.gitignoredue to its size and is not included in the repository.
If the model is not present, the app will still function normally -- the image conversion feature will simply be unavailable.
- MetalSplatter -- Core 3D Gaussian Splatting rendering library for Metal
- Includes PLYIO (PLY file reading/writing) and SplatIO (splat scene interpretation)
- Sharp -- ML-based image to 3D Gaussian Splat conversion
.ply-- Standard PLY format (binary and ASCII).splat-- Gaussian Splat format.spz-- Compressed Gaussian Splat format
- Looking for 3DGS files to try? Check out:
- Nerfstudio -- Capture and train your own splats
- Scene data from the original paper
- RadianceFields.com -- News and articles about 3DGS and NeRFs
This project is licensed under the MIT License -- see the LICENSE file for details.