Skip to content

cs50victor/bevy_gaussian_splatting

Repository files navigation

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
  • grouping and skeletons
  • volume masks
  • level of detail
  • gaussian cloud particle effects (accelerated spatial queries)
  • 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

About

bevy gaussian splatting render pipeline plugin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 79.8%
  • WGSL 19.8%
  • Other 0.4%