bevy_gaussian_splatting

Crates.iobevy_gaussian_splatting
lib.rsbevy_gaussian_splatting
version2.2.0
sourcesrc
created_at2023-09-28 00:27:45.912999
updated_at2024-06-10 18:06:18.588049
descriptionbevy gaussian splatting render pipeline plugin
homepagehttps://github.com/mosure/bevy_gaussian_splatting
repositoryhttps://github.com/mosure/bevy_gaussian_splatting
max_upload_size
id985391
size426,968
Mitchell Mosure (mosure)

documentation

README

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. view the live demo

Alt text Alt text

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
  • f16 and f32 gcloud
  • wgl2 and webgpu
  • 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::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

compatible bevy versions

bevy_gaussian_splatting bevy
2.1 0.13
0.4 - 2.0 0.12
0.1 - 0.3 0.11

projects using this plugin

credits

Commit count: 145

cargo fmt