bevy gaussian splatting render pipeline plugin. view the live demo gallery or open trellis.glb directly.
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_aliasfeature
esc: close viewers: save screenshot toscreenshots/g: export the loaded gaussian scene toexports/gaussian_scene_<frame>.glb(cloud transforms + active camera)
- 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_splattingscene 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
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()); }- ply to gcloud converter
- gaussian cloud training pipeline
- aabb vs. obb gaussian comparison via
cargo run --bin compare_aabb_obb
the following tools are compatible with bevy_gaussian_splatting:
-
2d gaussian clouds:
-
3d gaussian clouds:
-
4d gaussian clouds:
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 |
licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.

