Skip to content

rlamarche/bevy_pointcloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bevy Point Cloud

WASM Demo site : https://rlamarche.github.io/bevy_pointcloud/

A Bevy plugin to render point clouds.

Roadmap :

Takanawa Lion with multi pass rendering pipeline inspired by Potree:

Lion Takanawa

Takanawa Lion with multi pass rendering pipeline + Eye Dome Lighting inspired by Potree:

Lion Takanawa

1 million random points:

1 million random points

St. Anna Mountain, 33 millions points:

St. Anna Mountain, 33 millions points

Credits

  • Rendering techniques and shaders adapted from Potree
    Copyright (c) 2011-2020, Markus Schütz
    Licensed under the BSD 2-Clause License (see THIRD_PARTY_LICENSES.md).

  • Potree itself is based on prior research and open source projects.
    Notably:

    • Multi-resolution octree algorithms developed at the Vienna University of Technology (Michael Wimmer, Claus Scheiblauer, Scanopy Project).
    • Shaders inspired by CloudCompare (EDL), plas.io (LAS/LAZ support), and other point cloud tools.
  • The rendering pipeline implementation is based on Bevy's render pipelines
    (Bevy Engine, MIT or Apache-2.0).

Acknowledgements

This project would not have been possible without the amazing work of the open-source and research communities. In particular, I would like to acknowledge:

  • Potree by Markus Schütz, which inspired the rendering techniques and some shader code used here.
  • Bevy Engine, whose rendering pipelines served as a foundation for the Rust-side implementation.
  • The Vienna University of Technology (Michael Wimmer, Claus Scheiblauer) for their research on multi-resolution octrees in the Scanopy Project.
  • CloudCompare for the EDL shader approach.
  • plas.io for early contributions to LAS/LAZ point cloud rendering.
  • The broader open-source graphics and visualization community for their continuous contributions to point-based rendering.

Thank you to all the researchers, developers, and contributors whose work laid the ground for this project.

Prepare WASM Example

Run the following commands to prepare the WASM:

cargo build --features webgl --example simple --target wasm32-unknown-unknown  --release
wasm-bindgen --no-typescript --target web  --out-dir path/to/site/ --out-name "bevy_pointcloud"  ./target/wasm32-unknown-unknown/release/examples/simple.wasm

Optimize the wasm:

wasm-opt -O -ol 100 -s 100 -o bevy_pointcloud/bevy_pointcloud_bg.wasm bevy_pointcloud/bevy_pointcloud_bg.wasm

About

A Bevy plugin to render point clouds.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published