dorkhub

splatter

Splatter is a WebGPU based gaussian splatting engine written in Rust

Lichtso
Rust762 forksMITupdated 2 years ago
git clone https://github.com/Lichtso/splatter.gitLichtso/splatter

Docs crates.io

Splatter

Inspired by gaussian-splatting but using a somewhat different approach to rendering.

Features

  • Correctly computes the perspective projection of ellipsoids by intersecting the bounding elliptic cone with the view plane
  • Uses the rasterizer instead of a tiled compute shader
  • Rasterizes rotated rectangles instead of axis aligned squares
  • GPU depth sorting using onesweep radix sort (except that the block sort is not WLMS because WebGPU does not support subgroup operations yet)
  • CPU depth sorting as a fallback
  • Frustum culling (optionally using stream compaction via indirect drawing)
  • File parser and progressive loading via segmentation in chunks
  • Lots of rendering configuration parameters to customize

Dependencies

Dependencies of the Library

Dependencies of the Example

Example

You can download some pre-trained models from the original paper here.

cargo run --example showcase -- models/garden/point_cloud/iteration_7000/point_cloud.ply

Controls

  • A / D: Move left / right
  • W / S: Move forward / backward
  • Q / E: Move up / down
  • Z / X: Roll left / right
  • Mouse: Pitch and yaw

more like this

anne-key

Firmware for Anne Pro Keyboard written in Rust

Rust572

TachiSnap

TachiSnap — Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generated…

HTML50

urge

The Universal Ruby Game Engine (URGE) Project

C++50

bit_gossip

Pathfinding library for calculating all node pairs' shortest paths in an unweighted undirected graph.

Rust50

search

search projects, people, and tags