1 unstable release
0.0.1 | Sep 24, 2023 |
---|
#45 in #point-cloud
70KB
1.5K
SLoC
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
- Graphics API: wgpu
- Geometric Algebra: geometric_algebra
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
Dependencies
~6–37MB
~565K SLoC