需先用 gsbox 把 PLY 转成 sog 或 spx 等格式,不能直接喂原始 PLY 给示例;源码方式运行需先 npm run dev 或 npm run build,再通过 index.html?url= 传模型地址;大场景 LOD 需使用 .scene.json 场景描述文件而非单个模型文件。

Reall3dViewer
reall3d-comMIT活跃维护基于 Three.js 的 3DGS 高斯泼溅查看器,支持标注、测量和预设 LOD 渲染,方便在网页端浏览和操作三维重建场景。
This is a 3DGS(3D Gaussian Splatting) viewer built on Three.js, with features for marking, measurements, preset-lod rendering, etc.
npm install @reall3d/reall3dviewer
const viewer = new Reall3dViewer({ root: '#gsviewer' });
viewer.addModel('https://reall3d.com/demo-models/yz.spx');README 未给出显存要求;实测 1.5 亿点场景在独显台式机约 60 FPS、核显笔记本约 30 FPS、手机 25–40+ FPS,说明可在集成显卡与移动端浏览器运行。
基于 Three.js 的 3DGS 网页渲染器,专注大场景流式加载与自适应 LOD
基于 Three.js 的 3DGS 高斯泼溅查看器,支持标注、测量和预设 LOD 渲染,方便在网页端浏览和操作三维重建场景。
核心能力
- 支持 ply、splat、spx、spz、sog、glb 多格式加载
- 内置距离、面积测量与灵活标注功能
- 按预设 LOD 分块流式渲染亿级点云大场景
- 提供多档画质等级并按设备自动优化
- 支持 SH 1–3 阶球谐与 GIS 底图场景渲染
容易踩的坑
- v3.1.0最新正式版2026-11-09 · 2026-11-09 07:01 UTC
- Minor fixes and performance improvements.
- v3.0.02026-10-28 · 2026-10-28 13:08 UTC
查看更新说明
- Code refactoring
- Enhanced rendering quality
- Optimized rendering performance
- v2.5.72026-06-09 · 2026-06-09 12:20 UTC
查看更新说明
- Added support for rendering colored point cloud PLY files (e.g., with the following common header), enabling quick inspection of PLY files generated during modeling processes.
ply format binary_little_endian 1.0 comment Converted to float element vertex 3286130 property float x property float y property float z property uchar red property uchar green property uchar blue end_header - v2.5.62026-05-26 · 2026-05-26 06:41 UTC
查看更新说明
- Improved performance of model file loading and parsing by leveraging WASM.
- v2.5.52026-05-09 · 2026-05-09 00:45 UTC
查看更新说明
- Fix spz v4 reader. Ref: https://github.com/nianticlabs/spz/releases/tag/v3.0.0
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Reall3dViewer
Reall3dViewer is a Three.js-based Web renderer for 3D Gaussian Splatting (3DGS). It focuses on large‑scene streaming rendering, adaptive LOD, and cross‑platform high‑performance optimization, providing high‑performance Web rendering support for enterprise‑grade 3DGS applications.
📋 Table of Contents
- Features
- Benchmarked Performance
- Live Demos
- Key Configuration Parameters
- SPX High‑Compression Format
- Quick Start
- Changelog
- Acknowledgements
- Contact & Support
✨ Features
- ✅ Multi‑format support:
.ply,.splat,.spx,.spz,.sog,.glb(withKHR_gaussian_splattingextension) - ✅ Built‑in measurement & annotation: distance, area, flexible labeling
- ✅ Spherical harmonics: supports SH degree 1–3
- ✅ Map scene rendering: GIS basemap integration
- ✅ Per‑model independent configuration: via
.meta.jsonfiles - ✅ Adaptive rendering quality: multiple quality levels, auto‑optimized per device
- ✅ Multiple sorting algorithms: choose optimal strategy for different scenes
- ✅ Large‑scene streaming: preset‑based LOD, smooth loading for 100M+ points
🚀 Benchmarked Performance
Tested on a 150‑million‑point scene: Desktop (discrete GPU) 60 FPS, iGPU laptop 30 FPS, modern smartphone 25‑40+ FPS, older smartphone 7‑15+ FPS – stable, no overheating, no crashes.
🌐 Live Demos
You can also load your own model via URL parameter:
https://reall3d.com/reall3dviewer/examples/index.html?url=your-model.sog&debug=true
⚙️ Key Configuration Parameters
| Parameter | Recommended Default (Mobile/PC) | Description |
|---|---|---|
maxRenderCountOfMobile | 2 million | Max rendered points on mobile, adjustable per device |
maxRenderCountOfPc | 3 million | Max rendered points on PC |
qualityLevel | QualityLevels.Default5 (usually) | Quality level (1–9), affects rendering precision & performance |
sortType | SortTypes.Default1 (z-depth) | Sorting algorithm type, choose different strategy per scene |
📦 SPX High‑Compression Format
- Size advantage: reduces file size by >95% compared to PLY, significantly faster loading.
- Streaming rendering: native support for LOD tiling and streaming.
- Conversion tool: cross‑platform CLI tool
gsbox(portable, no installation required).
# Convert PLY to SPX
gsbox ply2spx -i input.ply -o output.spx
🛠️ Quick Start
Using the 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
# .sog or .spx file can be obtained through conversion using the gsbox
gsbox ply2sog -i /path/to/input.ply -o /path/to/output.sog
gsbox sog2spx -i /path/to/input.ply -o /path/to/output.spx
Using the npm package example project
# install
npm install @reall3d/reall3dviewer
// use built-in viewer
const viewer = new Reall3dViewer({ root: '#gsviewer' });
viewer.addModel(`https://reall3d.com/demo-models/yz.spx`);
// preset-lod rendering
const viewer = new Reall3dViewer({ root: '#gsviewer' });
viewer.addScene(`https://reall3d.com/demo-models/lod-v1/hgd/hgd-lod.scene.json`);
// use splat mesh
const splatMesh = new SplatMesh({ renderer, scene, controls});
splatMesh.addModel({ url: 'https://reall3d.com/demo-models/yz.spx' });
scene.add(splatMesh);
📜 Changelog
See Releases for version history.
🙏 Acknowledgements
Thanks to the following open‑source projects for reference implementations:
- antimatter15/splat
- mkkellogg/GaussianSplats3D
- huggingface/gsplat.js
- playcanvas/supersplat
- sxguojf/three-tile
📬 Contact & Support
- Issues:Please submit questions and suggestions on the GitHub project page
- Services:Model format optimization, IP protection, customization, and other enterprise services
- Website:https://reall3d.com