Skip to content

Latest commit

 

History

History
111 lines (89 loc) · 4.59 KB

README.md

File metadata and controls

111 lines (89 loc) · 4.59 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 Alt text

download cactus.gcloud

cargo run -- scenes/cactus.gcloud

capabilities

  • ply to gcloud converter
  • gcloud and ply asset loaders
  • bevy gaussian cloud render pipeline
  • gaussian cloud particle effects
  • 4D gaussian cloud wavelet compression
  • accelerated spatial queries
  • wasm support /w live demo
  • temporal depth sorting
  • f16 and f32 gcloud support
  • 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::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