Skip to content

Splatter is a WebGPU based gaussian splatting engine written in Rust

License

Notifications You must be signed in to change notification settings

Lichtso/splatter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Splatter is a WebGPU based gaussian splatting engine written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published