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.

v3.1.0发布于 2026-11-09 07:01 UTC524star +1 / 7 天55fork同步于 2026-11-10 17:59 UTC

怎么上手

由 README 提炼,执行前请确认
npm install @reall3d/reall3dviewer
const viewer = new Reall3dViewer({ root: '#gsviewer' });
viewer.addModel('https://reall3d.com/demo-models/yz.spx');
硬件要求按 README 说明

README 未给出显存要求;实测 1.5 亿点场景在独显台式机约 60 FPS、核显笔记本约 30 FPS、手机 25–40+ FPS,说明可在集成显卡与移动端浏览器运行。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于 Three.js 的 3DGS 网页渲染器,专注大场景流式加载与自适应 LOD

基于 Three.js 的 3DGS 高斯泼溅查看器,支持标注、测量和预设 LOD 渲染,方便在网页端浏览和操作三维重建场景。

核心能力

  • 支持 ply、splat、spx、spz、sog、glb 多格式加载
  • 内置距离、面积测量与灵活标注功能
  • 按预设 LOD 分块流式渲染亿级点云大场景
  • 提供多档画质等级并按设备自动优化
  • 支持 SH 1–3 阶球谐与 GIS 底图场景渲染

容易踩的坑

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

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v3.1.0
  1. v3.1.0最新正式版2026-11-09 · 2026-11-09 07:01 UTC
    • Minor fixes and performance improvements.
  2. v3.0.02026-10-28 · 2026-10-28 13:08 UTC
    查看更新说明
    • Code refactoring
    • Enhanced rendering quality
    • Optimized rendering performance
  3. 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
    
  4. v2.5.62026-05-26 · 2026-05-26 06:41 UTC
    查看更新说明
    • Improved performance of model file loading and parsing by leveraging WASM.
  5. v2.5.52026-05-09 · 2026-05-09 00:45 UTC
    查看更新说明

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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

    • ✅ Multi‑format support: .ply, .splat, .spx, .spz, .sog, .glb (with KHR_gaussian_splatting extension)
    • ✅ 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.json files
    • ✅ 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

    ParameterRecommended Default (Mobile/PC)Description
    maxRenderCountOfMobile2 millionMax rendered points on mobile, adjustable per device
    maxRenderCountOfPc3 millionMax rendered points on PC
    qualityLevelQualityLevels.Default5 (usually)Quality level (1–9), affects rendering precision & performance
    sortTypeSortTypes.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:

    📬 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