splat  by antimatter15

WebGL app for real-time 3D Gaussian Splat rendering

created 1 year ago
2,537 stars

Top 18.8% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a WebGL 1.0 viewer for 3D Gaussian Splatting, enabling photorealistic navigable scenes from images. It targets developers and users interested in efficient, real-time 3D scene rendering on standard hardware, offering a dependency-free, view-source-friendly experience.

How It Works

The viewer projects Gaussian splats (3D translucent blobs) to screen coordinates using a vertex shader and renders them with a fragment shader. It employs a CPU-based Web Worker for asynchronous sorting of splats by size and opacity, supporting progressive loading. This approach avoids complex GPU sorting or depth peeling, prioritizing broad WebGL compatibility and reducing file size by omitting view-dependent spherical harmonics.

Quick Start & Requirements

  • Load .ply files (converted to .splat format via drag-and-drop) or .splat files directly via URL parameters.
  • No external JavaScript dependencies; view source for unminified code.
  • Browser with WebGL 1.0 support.

Highlighted Details

  • Real-time rendering of 3D Gaussian Splatting scenes.
  • Progressive loading and asynchronous CPU-based splat sorting.
  • Supports custom camera views and saving current view coordinates to URL.
  • Drag-and-drop functionality for file conversion and loading.

Maintenance & Community

  • Developed by antimatter15.
  • Mentions discussions with Mikola Lysenko (regl, WebGL/WebGPU advice) and Ethan Weber (NeRFs, sorting challenges).

Licensing & Compatibility

  • No explicit license mentioned in the README.
  • Compatible with standard web browsers supporting WebGL 1.0.

Limitations & Caveats

The viewer does not support view-dependent shading effects (spherical harmonics) to reduce file size. Sorting on the CPU can lead to momentary visual artifacts when rapidly changing camera perspectives.

Health Check
Last commit

5 months ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
0
Star History
197 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.