splat  by antimatter15

WebGL app for real-time 3D Gaussian Splat rendering

Created 2 years ago
2,605 stars

Top 18.0% 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

6 months ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
43 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Luis Capelo Luis Capelo(Cofounder of Lightning AI), and
6 more.

threestudio by threestudio-project

0.2%
7k
Framework for 3D content generation from text/images using 2D diffusion
Created 2 years ago
Updated 9 months ago
Feedback? Help us improve.