Skip to content

This is a 3D Gaussian Splatting viewer built on Three.js, with features for marking, measurements, text watermarks, etc.

License

Notifications You must be signed in to change notification settings

reall3d-com/Reall3dViewer

Repository files navigation

Reall3dViewer

Reall3dViewer is a 3D Gaussian Splatting viewer built on Three.js. Crafting an exceptional 3DGS viewer is no small feat, which is why we've chosen to open-source our project. We hope to harness the collective wisdom and efforts of the community to drive the advancement of 3DGS applications together!



Features

  • Support formats: .ply, .splat, .spx, .spz(v2,v3), .sog(v1,v2)
  • Support mark and measurement tools
  • Support text watermarking
  • Support 1st to 3rd degree spherical harmonics
  • Support map-integrated model rendering
  • Support per-model settings via *.meta.json file
  • Built-in rendering quality levels with adaptive optimization (v2.0.0+ 🌟)
  • Built-in optimized sorting types to fine-tune performance for diverse scenarios (v2.0.0+ 🌟)

Live demo

Docs(By Zread AI)

Key Configuration Parameters

Name Note
maxRenderCountOfMobile Low-end devices have rendering limits. Adjust from default if needed. Recommended.
maxRenderCountOfPc High-end devices also have rendering limits. Adjust from default if needed. Recommended.
qualityLevel Choose based on target device and model for optimal performance/quality. Adaptive adjustment supported. Recommended.
sortType No single algorithm is optimal for all scenarios. Choose the most suitable one from built-in types for your case. Recommended.

.spx

Basic Usage

use source code

# develop
npm run dev

# build
npm run build

# open a web browser to render your 3dgs model
# http://hostname:port/index.html?url=your-model-link-address

# .spx file can be obtained through conversion using the gsbox
gsbox p2x -i /path/to/input.ply -o /path/to/output.spx -sh 0

use npm package sample project here

# install
npm install @reall3d/reall3dviewer

# use built-in viewer
const viewer = new Reall3dViewer({ root: '#gsviewer' });
viewer.addModel(`https://reall3d.com/demo-models/yz.spx`);

# use splat mesh
const splatMesh = new SplatMesh({ renderer, scene, controls});
splatMesh.addModel({ url: 'https://reall3d.com/demo-models/yz.spx' });
scene.add(splatMesh);

TODO

  • Continuously optimize and enhance rendering performance
  • Large scene

Release History

https://github.com/reall3d-com/Reall3dViewer/releases

Acknowledgments

We would like to express our gratitude to the following projects for their valuable reference implementations

Contact

Feel free to submit an issue on the project page. Our commercial version offers a 3DGS model format optimization tool and supports embedding watermarks to protect model ownership. Please don't hesitate to contact us.

About

This is a 3D Gaussian Splatting viewer built on Three.js, with features for marking, measurements, text watermarks, etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published