#bevy #ply #gaussian-splatting #render-pipeline

bin+lib bevy_gaussian_splatting

bevy gaussian splatting render pipeline plugin

4 releases (breaking)

0.4.0 Nov 7, 2023
0.3.0 Nov 6, 2023
0.2.0 Oct 30, 2023
0.1.0 Sep 28, 2023

#30 in Data formats

48 downloads per month

MIT license

71KB
1.5K SLoC

bevy_gaussian_splatting 🌌

test GitHub License GitHub Last Commit GitHub Releases GitHub Issues Average time to resolve an issue crates.io

bevy gaussian splatting render pipeline plugin

Alt text Alt text

cargo run -- scenes/icecream.gcloud

capabilities

  • ply to gcloud converter
  • gcloud and ply asset loaders
  • bevy gaussian cloud render pipeline
  • wasm support /w live demo
  • temporal depth sorting
  • f16 and f32 gcloud support
  • 4D gaussian clouds via morph targets
  • bevy_openxr support
  • bevy 3D camera to gaussian cloud pipeline

usage

use bevy::prelude::*;
use bevy_gaussian_splatting::GaussianSplattingPlugin;

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>,
) {
    commands.spawn(GaussianSplattingBundle {
        cloud: asset_server.load("scenes/icecream.gcloud"),
        ..Default::default()
    });

    commands.spawn(Camera3dBundle::default());
}

tools

wasm support

to build wasm run:

  • cargo build --target wasm32-unknown-unknown --release
  • wasm-bindgen --out-dir ./out/ --target web ./target/

compatible bevy versions

bevy_gaussian_splatting bevy
0.4 0.12
0.1 - 0.3 0.11

credits

Dependencies

~42–83MB
~1.5M SLoC