Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kfarr/aframe-gaussian-splatting

Fork of aframe guassian splat to play with new features
https://github.com/kfarr/aframe-gaussian-splatting

Last synced: 2 months ago
JSON representation

Fork of aframe guassian splat to play with new features

Awesome Lists containing this project

README

        

## (fork of) aframe-gaussian-splatting

This is a fork of quadjr's a-frame gaussian splatting viewer component to play with some new ideas. I commit lots of junk in this repo that you probably don't want, so use the original repo for the splatting component: https://github.com/quadjr/aframe-gaussian-splatting

Branches of my WIP experiments:
* Compositing prototype: https://github.com/kfarr/aframe-gaussian-splatting/tree/splat-compositing
* barely working RC car prototype: https://github.com/kfarr/aframe-gaussian-splatting/tree/barely-working-driving

****

## normal readme

This component is an A-Frame implementation of real-time rendering for [3D Gaussian Splatting for Real-Time Radiance Field Rendering](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/).
This code is derived from the WebGL implementation developed by [antimatter15](https://github.com/antimatter15/splat).

### Demo pages

Needs few seconds to load splats.
* Demo: https://quadjr.github.io/aframe-gaussian-splatting/
* Cutout demo: https://quadjr.github.io/aframe-gaussian-splatting/cutout-demo.html

### Properties

| Property | Description | Default Value |
| -------- | ----------- | ------------- |
| src | url of splat or ply file | train.splat |
| cutoutEntity | selector to a box primitive that uses scale and position to define the bounds of splat points to render | |
| pixelRatio | Pixel ratio for rendering. Reducing the value decreases the resolution and improves performance. If a negative value is set, the device's native value will be applied. | 1.0 |
| xrPixelRatio | Same as pixelRatio. Applied to XR devices. | 0.5 |

### Example custom scan to gaussian splat workflow
* Use a service such as https://lumalabs.ai/ to process a scan into splat (an alternative is https://poly.cam/)
* Go to download dialog and choose Gaussian > Splat (which will download a .zip file with .ply file inside)
* Convert the .ply to .splat in the browser using this site: https://splat-converter.glitch.me/ by @akbartus (repo https://github.com/akbartus/Gaussian-Splatting-WebViewers/tree/main/splat_converter)
* Use resultant .splat in the A-Frame scene with this component

### Usage

#### Browser Installation

Install and use by directly including the file.
About the splat file, please refer [antimatter15](https://github.com/antimatter15/splat).

```html













```

#### NPM Installation

Install via NPM:

```bash
npm install aframe-gaussian-splatting-component
```

Then register and use.

```js
require('aframe');
require('aframe-gaussian-splatting-component');
```