Skip to content

mosure/bevy_gaussian_splatting

bevy_gaussian_splatting 🌌

test GitHub License crates.io

bevy gaussian splatting render pipeline plugin. view the live demo

Alt text Alt text

install cli

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

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
  • multi-cloud scene format
  • gltf gaussian extensions
  • 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::build()
        .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
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 6

Languages