28 stable releases (4 major)

4.6.0 Mar 1, 2025
4.4.0 Feb 26, 2025
3.0.0 Dec 18, 2024
2.7.6 Dec 17, 2024
0.4.0 Nov 7, 2023

#11 in Data formats

Download history 14/week @ 2024-11-20 9/week @ 2024-11-27 3/week @ 2024-12-04 101/week @ 2024-12-11 192/week @ 2024-12-18 4/week @ 2024-12-25 5/week @ 2025-02-05 472/week @ 2025-02-12 101/week @ 2025-02-19 519/week @ 2025-02-26 19/week @ 2025-03-05

1,111 downloads per month

MIT/Apache

355KB
9K SLoC

Rust 7K SLoC // 0.1% comments WebGPU Shader Language 2K SLoC // 0.0% comments

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

install cli

cargo install bevy_gaussian_splatting
bevy_gaussian_splatting --input-cloud [file://gaussian.ply | https://mitchell.mosure.me/go_trimmed.ply]

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
  • normal rendering
  • f16 and f32 gcloud
  • wgl2 and webgpu
  • multi-format scenes
  • 2dgs
  • 3dgs
  • 4dgs
  • multi-cloud scene format
  • gltf gaussian extensions
  • 4dgs motion blur
  • implicit mlp node (isotropic rotation, color)
  • temporal gaussian hierarchy
  • gcloud, spherical harmonic coefficients Huffman encoding
  • spz format io
  • 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::{
    CloudSettings,
    GaussianSplattingPlugin,
    PlanarGaussian3dHandle,
};

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>,
) {
    // CloudSettings and Visibility are automatically added
    commands.spawn((
        PlanarGaussian3dHandle(asset_server.load("scenes/icecream.gcloud")),
        CloudSettings::default(),
    ));

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

tools

creating gaussian clouds

the following tools are compatible with bevy_gaussian_splatting:

compatible bevy versions

bevy_gaussian_splatting bevy
3.0 0.15
2.3 0.14
2.1 0.13
0.4 - 2.0 0.12
0.1 - 0.3 0.11

license

licensed under either of

at your option.

contribution

unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

analytics

alt

Dependencies

~67–110MB
~2M SLoC