Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/quadjr/aframe-gaussian-splatting
A-Frame component implementation of the 3D Gaussian splat viewer
https://github.com/quadjr/aframe-gaussian-splatting
aframe aframe-component gaussian-splatting vr webgl webvr
Last synced: 6 days ago
JSON representation
A-Frame component implementation of the 3D Gaussian splat viewer
- Host: GitHub
- URL: https://github.com/quadjr/aframe-gaussian-splatting
- Owner: quadjr
- License: mit
- Created: 2023-09-28T13:53:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-20T20:24:48.000Z (11 months ago)
- Last Synced: 2024-03-15T09:22:23.504Z (8 months ago)
- Topics: aframe, aframe-component, gaussian-splatting, vr, webgl, webvr
- Language: JavaScript
- Homepage:
- Size: 29.6 MB
- Stars: 135
- Watchers: 6
- Forks: 24
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-3dgs - A-Frame
- awesome-3D-gaussian-splatting - A-Frame
README
## aframe-gaussian-splatting-component
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');
```