# antimatter15/splat

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/antimatter15-splat).**

2,890 stars · 316 forks · JavaScript · mit

## Links

- GitHub: https://github.com/antimatter15/splat
- Homepage: https://antimatter15.com/splat/
- awesome-repositories: https://awesome-repositories.com/repository/antimatter15-splat.md

## Description

Splat is a browser-based 3D Gaussian splatting viewer that renders photorealistic scenes from photographs directly in a web browser. It uses WebGL 2.0 compute shaders to perform per-splat sorting and alpha blending on the GPU, enabling real-time display of millions of semi-transparent ellipsoids. The application also functions as a drag-and-drop converter that transforms .ply files from 3D Gaussian splatting software into the optimized .splat format for web rendering.

The viewer provides full camera navigation through keyboard, mouse, and touch gestures, and includes a camera view manager that saves, shares, and cycles through pre-loaded positions. Specific viewpoints can be encoded into the page URL for direct sharing or bookmarking, and numbered keyboard shortcuts allow instant switching between saved camera positions. The entire application is delivered as a single self-contained HTML file with no build step or server-side dependencies, loading directly in the browser.

## Tags

### Part of an Awesome List

- [Gaussian Splat Rendering](https://awesome-repositories.com/f/awesome-lists/ai/gaussian-splatting/gaussian-splat-rendering.md) — Renders 3D Gaussian splatting scenes by projecting millions of semi-transparent ellipsoids via WebGL shaders.
- [3D Model Drag-and-Drop Loaders](https://awesome-repositories.com/f/awesome-lists/devtools/drag-and-drop/3d-model-drag-and-drop-loaders.md) — Loads 3D Gaussian splat files by dragging and dropping them directly into the browser viewer.
- [File Format Converters](https://awesome-repositories.com/f/awesome-lists/ai/gaussian-splatting/file-format-converters.md) — Converts .ply files from Gaussian splatting software into the optimized .splat format via drag-and-drop. ([source](https://cdn.jsdelivr.net/gh/antimatter15/splat@main/README.md))
- [PLY to Splat Converters](https://awesome-repositories.com/f/awesome-lists/ai/gaussian-splatting/ply-to-splat-converters.md) — Converts .ply files from 3D Gaussian Splatting software into the optimized .splat format via drag-and-drop.
- [3D Scene Touch Controllers](https://awesome-repositories.com/f/awesome-lists/devtools/touch-and-gestures/3d-scene-touch-controllers.md) — Translates pinch, rotate, and swipe gestures into camera orbit, zoom, and pan for mobile 3D navigation.

### Graphics & Multimedia

- [Gaussian Splatting Viewers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/3d-rendering-engines/browser-based-3d-visualizations/gaussian-splatting-viewers.md) — Provides a browser-based viewer for interactively exploring trained 3D Gaussian splatting models from new viewpoints.
- [Pruned Gaussian Scene Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/gpu-accelerated-ui-rendering/3d-scene-renderers/pruned-gaussian-scene-renderers.md) — Renders photorealistic 3D Gaussian splatting scenes from photographs in a web browser. ([source](https://cdn.jsdelivr.net/gh/antimatter15/splat@main/README.md))
- [Compute Shader Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/compute-shader-dispatchers/compute-shader-pipelines.md) — Renders millions of semi-transparent ellipsoids by sorting and blending them on the GPU via compute shaders.
- [WebGL](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/compute-shader-dispatchers/compute-shader-pipelines/webgl.md) — Performs per-splat sorting and alpha blending on the GPU using WebGL 2.0 compute shaders.
- [WebGL 2.0](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/compute-shader-dispatchers/compute-shader-pipelines/webgl-2-0.md) — Performs per-splat sorting and alpha blending directly on the GPU using WebGL 2.0 compute shaders for real-time rendering.
- [Gaussian Splatting Viewers](https://awesome-repositories.com/f/graphics-multimedia/real-time-neural-renderers/real-time-3d-rendering-engines/gaussian-splatting-viewers.md) — Provides a browser-based 3D renderer for real-time exploration of Gaussian splatting models.
- [WebGL 2.0 Compute Shader Renderers](https://awesome-repositories.com/f/graphics-multimedia/real-time-neural-renderers/real-time-3d-rendering-engines/webgl-2-0-compute-shader-renderers.md) — Renders millions of semi-transparent ellipsoids in real time using WebGL 2.0 compute shaders for GPU-accelerated sorting and blending.
- [Camera View Controllers](https://awesome-repositories.com/f/graphics-multimedia/camera-view-controllers.md) — Shares specific camera viewpoints of 3D scenes via URL bookmarks.
- [Saved View Managers](https://awesome-repositories.com/f/graphics-multimedia/camera-view-controllers/saved-view-managers.md) — Saves, shares, and cycles through pre-loaded camera positions in 3D Gaussian splatting scenes.
- [URL-Encoded Viewpoints](https://awesome-repositories.com/f/graphics-multimedia/camera-view-controllers/url-encoded-viewpoints.md) — Encodes camera position into the page URL for sharing specific viewpoints via bookmarks. ([source](https://cdn.jsdelivr.net/gh/antimatter15/splat@main/README.md))
- [URL-Shareable Viewpoints](https://awesome-repositories.com/f/graphics-multimedia/camera-view-controllers/url-shareable-viewpoints.md) — Encodes camera positions into URLs for direct sharing and bookmarking of specific 3D viewpoints.

### Game Development

- [Gaussian Splat File Loaders](https://awesome-repositories.com/f/game-development/dsl-scene-loading/gaussian-splat-file-loaders.md) — Provides drag-and-drop loading of .ply and .splat files for 3D Gaussian splatting scenes. ([source](https://cdn.jsdelivr.net/gh/antimatter15/splat@main/README.md))

### User Interface & Experience

- [In-Browser Format Converters](https://awesome-repositories.com/f/user-interface-experience/file-uploaders/drag-and-drop-file-upload/in-browser-format-converters.md) — Converts .ply files to .splat format entirely in the browser via drag-and-drop.
- [3D Scene Interaction Handlers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/general-interaction-frameworks/interaction-models/event-driven-interaction-handlers/3d-scene-interaction-handlers.md) — Provides keyboard, mouse, and touch controls for navigating 3D Gaussian splatting scenes. ([source](https://cdn.jsdelivr.net/gh/antimatter15/splat@main/README.md))

### Software Engineering & Architecture

- [URL State Serialization](https://awesome-repositories.com/f/software-engineering-architecture/shared-state-management/url-state-serialization.md) — Encodes camera position and orientation into the page URL for sharing specific viewpoints.

### Web Development

- [Offline Single-File Applications](https://awesome-repositories.com/f/web-development/single-page-applications/single-file-distributions/offline-single-file-applications.md) — Delivers the entire viewer as a self-contained HTML file with no build step or server dependencies.
