Skip to content

Latest commit

 

History

History
104 lines (83 loc) · 4.27 KB

README.md

File metadata and controls

104 lines (83 loc) · 4.27 KB

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
  • skeletons
  • volume masks
  • level of detail
  • lighting and shadows
  • 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