Skip to content

mosure/bevy_gaussian_splatting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

225 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

bevy_gaussian_splatting 🌌

test GitHub License crates.io

bevy gaussian splatting render pipeline plugin. view the live demo gallery or open trellis.glb directly.

Alt text Alt text

install

cargo +nightly install bevy_gaussian_splatting bevy_gaussian_splatting --input-cloud [file://gaussian.ply | https://mitchell.mosure.me/go_trimmed.ply] bevy_gaussian_splatting --input-scene [file://scene.glb | https://mitchell.mosure.me/trellis.glb]

note: default bevy_gaussian_splatting features require nightly rust for generic associated types. to use on stable, disable default features and nightly_generic_alias feature

viewer hotkeys

  • esc: close viewer
  • s: save screenshot to screenshots/
  • g: export the loaded gaussian scene to exports/gaussian_scene_<frame>.glb (cloud transforms + active camera)

capabilities

  • ply to gcloud converter
  • gcloud and ply asset loaders
  • bevy gaussian cloud render pipeline
  • gaussian cloud particle effects
  • wasm support /w live demo
  • depth colorization
  • normal rendering
  • f16 and f32 gcloud
  • wgl2 and webgpu
  • multi-format scenes
  • 2dgs
  • 3dgs
  • 4dgs
  • glTF KHR_gaussian_splatting scene load/save
  • 4dgs motion blur
  • deformable radial kernel
  • implicit mlp node (isotropic rotation, color)
  • temporal gaussian hierarchy
  • gcloud, spherical harmonic coefficients Huffman encoding
  • spz format io
  • spherical harmonic coefficients clustering
  • 4D gaussian cloud wavelet compression
  • accelerated spatial queries
  • temporal depth sorting
  • skeletons
  • volume masks
  • level of detail
  • lighting and shadows
  • bevy_openxr support
  • bevy 3D camera to gaussian cloud pipeline

usage

use bevy::prelude::*; use bevy_gaussian_splatting::{ CloudSettings, GaussianSplattingPlugin, PlanarGaussian3dHandle, }; fn main() { App::new() .add_plugins(DefaultPlugins) .add_plugins(GaussianSplattingPlugin) .add_systems(Startup, setup_gaussian_cloud) .run(); } fn setup_gaussian_cloud( mut commands: Commands, asset_server: Res<AssetServer>, ) { // CloudSettings and Visibility are automatically added commands.spawn(( PlanarGaussian3dHandle(asset_server.load("scenes/icecream.gcloud")), CloudSettings::default(), )); commands.spawn(Camera3d::default()); }

tools

creating gaussian clouds

the following tools are compatible with bevy_gaussian_splatting:

compatible bevy versions

bevy_gaussian_splatting bevy
7.0 0.18
6.0 0.17
5.0 0.16
3.0 0.15
2.3 0.14
2.1 0.13
0.4 - 2.0 0.12
0.1 - 0.3 0.11

license

licensed under either of

at your option.

contribution

unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

analytics

alt

About

bevy gaussian splatting render pipeline plugin πŸ•ŠοΈπŸŒŒ

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Contributors