Skip to content

scottfuX/SplatGallery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SplatGallery

A 3D Gaussian Splat viewer and gallery app for Apple platforms (iOS, macOS, visionOS), built on top of MetalSplatter.

Features

  • 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

Requirements

  • Xcode 16.0+
  • Swift 6.0
  • iOS 18.0+ / macOS 15.0+ / visionOS 2.0+

Getting Started

  1. Clone the repository:

    git clone https://github.com/user/SplatGallery.git
  2. Open the Xcode project:

    open SplatGallery/SplatGallery.xcodeproj
  3. Select your target device and set your development team in Signing & Capabilities.

  4. Set the scheme to Release mode for best performance (loading large files in Debug is significantly slower).

  5. Build and run.

  6. For best framerate, run the app without the debugger attached.

Sharp ML Model Setup (Optional)

The image-to-3D conversion feature requires the Sharp ML model. To enable it:

  1. Obtain the sharp_model.mlmodelc compiled Core ML model from the Sharp project.
  2. Place the sharp_model.mlmodelc directory in the project root (next to Info.plist).
  3. The model is listed in .gitignore due 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.

Dependencies

  • 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

Supported File Formats

  • .ply -- Standard PLY format (binary and ASCII)
  • .splat -- Gaussian Splat format
  • .spz -- Compressed Gaussian Splat format

Resources

License

This project is licensed under the MIT License -- see the LICENSE file for details.

About

A 3D Gaussian Splat viewer and gallery app for Apple platforms (iOS, macOS, visionOS), built on top of MetalSplatter.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages