Home

Awesome

AR Gaussian Splatting for iOS & Metal

<img src="media/lego-thumb.jpg" height="200">

About

A buggy + slow AR gaussian splat renderer for iOS + Metal. Based on several existing projects:

Uses Satin + Forge for AR + 3d viewer ( by @rezaali )

Only tested on an iPhone 14 Pro. Older phones will probably struggle. You can adjust the render resolution when loading a model by increasing the rendererDownsample to 4x or more on the 'SplatModelInfo' struct.

:warning: This was a quick weekend hack project for educational purposes. As such the code is bad.

🔹 NOTE: PLY models use git LFS for file storage. You may need to run git lfs pull if PLYs are missing

Notes

Todos

Demo Video

Watch on YouTube <br> youtube-link

video credit: Nike shoe model from Alex Carliera

License(s)

Parts of the code are based on the original Gaussian-Splatting software and is governed by the Gaussian-Splatting License, which can be found in the LICENSE file in this repository. The original software was developed by Inria and MPII.

Please be advised that the software in this repository cannot be used for commercial purposes without explicit consent from the original licensors, Inria and MPII.

Satin + Forge are released under the MIT license. See LICENSE for details.

Train your own model

There are several blog posts on how to train your own models from a set of images. The output PLY model is what you want to keep ( e.g. 'iteration_30000/point_cloud.ply' ) The included models were trained on google colab with an A100 GPU.

Open In Colab

Models Attribution

Includes two models from the NeRF synthetic blender dataset

The renders are from modified blender models located on blendswap.com: