splatter

Crates.iosplatter
lib.rssplatter
version0.0.1
sourcesrc
created_at2023-09-24 09:55:01.390185
updated_at2023-09-24 09:55:01.390185
descriptionA gaussian splat render engine
homepage
repositoryhttps://github.com/Lichtso/splatter/
max_upload_size
id981826
size143,485
Alexander Meißner (Lichtso)

documentation

README

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
Commit count: 3

cargo fmt