Reall3dViewer

repository·main·Indexed 19 days ago

https://github.com/reall3d-com/reall3dviewer

A Three.js-based Web renderer optimized for large-scale 3D Gaussian Splatting (3DGS) scenes. It supports adaptive LOD, streaming capabilities, and high-compression formats including .spx, .sog, .spz, .splat, .ply, and .glb (via KHR_gaussian_splatting). Features include GIS basemap integration, measurement and annotation tools, and the SplatMesh class for custom Three.js integration. Version 2.0.0.

Tokens
19.1K
Snippets
34
Records
66
Agent score
63%

What's inside reall3dviewer

  1. Overview of Reall3dViewer

    main

    Reall3dViewer is a Three.js-based Web renderer specifically designed for 3D Gaussian Splatting (3DGS). It is optimized for enterprise-grade applications requiring large-scene streaming, adaptive Level of Detail (LOD), and cross-platform high performance.

    Key Features

    • Multi-format support: Renders .ply, .splat, .spx, .spz, .sog, and .glb (via KHR_gaussian_splatting extension).
    • Advanced Rendering: Supports Spherical Harmonics (SH) degrees 1–3, multiple sorting algorithms, and adaptive rendering quality optimized per device.
    • Large-scale capabilities: Supports large-scene streaming with preset-based LOD, capable of handling 100M+ points.
    • Built-in Tools: Includes measurement (distance, area) and annotation (flexible labeling) capabilities.
    • GIS Integration: Supports map scene rendering with GIS basemap integration.
    • Configuration: Supports per-model independent configuration using .meta.json files.
  2. SPX File Format Overview

    main

    The .spx format is a 3DGS (3D Gaussian Splatting) model format designed for flexibility, extensibility, and exclusivity. It uses an optimized file header, flexible data blocks, and supports both open and proprietary (exclusive) data formats.

    Key characteristics:

    • Flexible: Optimized header and data blocks with effective compression.
    • Extensible: Open format with reserved fields for future expansion.
    • Exclusive: Custom identifiers allow for proprietary data protection.
  3. SPX Version 3 Format Specification Overview

    main

    The .spx format is a 3DGS (3D Gaussian Splatting) model format designed to be Flexible, Extensible, and Exclusive. It uses an optimized file header, flexible data blocks, and effective compression to manage 3D Gaussian data.

    • Flexible: Optimized header structure and flexible data blocks.
    • Extensible: Open format with reserved fields for future expansion.
    • Exclusive: Supports custom format identifiers for proprietary data protection.
  4. Understand the SPX Version 3 File Format

    main

    .spx is a flexible, extensible, and protectable file format designed for 3DGS (3D Gaussian Splatting) models. It uses a fixed-size header followed by various data blocks. The format supports both open data block formats (for interoperability) and custom proprietary formats (for data protection).

    Key Features

    • Flexibility: Optimized header, efficient compression, and flexible data blocks.
    • Extensibility: Open format with reserved schemes for future expansion.
    • Proprietary Support: Ability to define custom formats to protect data.

    File Structure Overview

    1. File Header (128 bytes): Contains magic bytes (spx), version, Gaussian point count, bounding box data, metadata, and a checksum.
    2. Data Blocks: Composed of a block definition (indicating compression and length) followed by the block content (identifying the data format).
  5. Understand SPX Data Block Structure

    main

    An SPX file consists of one or more data blocks. Each block has a fixed structure that defines whether the content is compressed and how long it is, followed by the actual data content.

    Data Block Header (Structure)

    • 0~3 (uint32): *数据块定义 (Data Block Definition)
      • bit 0: *数据块是否压缩 (Is compressed: 0=No, 1=Yes)
      • bit 1~3: *压缩类型 (Compression type: 0=gzip, 1=xz)
      • bit 4~31: *数据块长度 (Data block content length)
    • 0~n (bytes): *数据块内容 (Data block content)

    Data Block Content Format

    Every data block content starts with:

    • 0~3 (uint32): *数量 (Gaussian count)
    • 4~7 (uint32): *格式识别号 (Format ID)
    • 8~n (bytes): *数据 (The actual data payload)
  6. Understand the SPX file format specification

    main

    .spx is a flexible, extensible, and protectable file format designed for 3DGS (3D Gaussian Splatting) models. It utilizes an optimized file header for bounding box data and sorting, a modular data block system for extensibility, and support for custom proprietary formats to protect data.

    Key features include:

    • Flexibility: Optimized header and flexible data blocks.
    • Extensibility: Open format with reserved schemes for expansion.
    • Proprietary Support: Ability to define custom formats to protect data.
  7. Understand the SPX Version 2 File Format

    main

    .spx is a flexible, extensible, and secure 3DGS (3D Gaussian Splatting) model format. It is designed with an optimized file header for bounding box data, flexible data blocks for compression, and support for custom proprietary formats to protect data.

    Key features include:

    • Flexibility: Optimized header and flexible data blocks.
    • Extensibility: Open format with reserved schemes for future expansion.
    • Proprietary Support: Ability to define custom formats to protect data assets.
  8. Understand the SPX Version 2 Format Specification

    main

    The .spx format is a 3D Gaussian Splatting (3DGS) model format designed for flexibility, extensibility, and exclusivity. It uses an optimized file header, flexible data blocks, and supports both open and proprietary (exclusive) data formats.

    Key characteristics:

    • Flexible: Optimized header and compression.
    • Extensible: Reserved fields for future expansion.
    • Exclusive: Custom identifiers for proprietary data protection.
  9. Use the proprietary SPX format for high compression

    main

    For massive 3DGS scenes, use the proprietary SPX format to achieve >95% size reduction compared to standard PLY files. The SPX format is designed for faster loading and natively supports:

    • Streaming rendering
    • LOD-aware (Level of Detail) tiling

    You can convert your existing models to this format using the cross-platform conversion tool: gsbox.

  10. Key features and technologies in Reall3dViewer

    main

    Reall3dViewer utilizes several specialized technologies to achieve high-performance 3DGS rendering in the browser:

    • Core Engine: Powered by Three.js.
    • Adaptive LOD & Culling: Uses proprietary adaptive Level of Detail (LOD) and frustum culling to maintain performance.
    • Efficient Sorting: Implements specialized sorting algorithms for Gaussian points.
    • SPX Format: A proprietary high-compression streaming 3DGS format that provides >95% size reduction compared to standard PLY files.
    • Production Tools: Includes built-in capabilities for measurement, annotation, watermarking, and GIS integration.