https://github.com/hacknus/bevy_voxel_plot
Simple crate to efficiently create a voxel plot (with opacity) in bevy/rust.
https://github.com/hacknus/bevy_voxel_plot
Last synced: 14 days ago
JSON representation
Simple crate to efficiently create a voxel plot (with opacity) in bevy/rust.
- Host: GitHub
- URL: https://github.com/hacknus/bevy_voxel_plot
- Owner: hacknus
- License: apache-2.0
- Created: 2025-04-25T06:56:58.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-11-27T23:26:19.000Z (4 months ago)
- Last Synced: 2025-11-30T12:56:21.439Z (4 months ago)
- Language: Rust
- Size: 1.07 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.MD
- License: LICENSE.MD
Awesome Lists containing this project
README
# Bevy Voxel Plot
[](https://crates.io/crates/bevy_voxel_plot)
[](https://docs.rs/bevy_voxel_plot)
[](https://github.com/hacknus/bevy_voxel_plot/actions/workflows/rust.yml)
A simple and efficient Voxel Plot for [Bevy](https://bevyengine.org).
Developed for data visualisation purposes (e.g. pointclouds/voxelplots of 3D structures).
It uses instancing and is an adaptation of the
`custom_shader_instancing.rs` [example of bevy](https://github.com/bevyengine/bevy/blob/main/examples/shader/custom_shader_instancing.rs)
which also supports opacity control.
Able to plot 2 million voxels on an M2Pro Macbook Pro.


## Examples:
```shell
cargo run --release --examples bevy_egui
```
- Bevy Pan Orbit Camera
Simple implementation of the Voxel Plot along with the `bevy_panorbit_camera` crate.
- Bevy Egui
More advanced implementation of the Voxel Plot along with the `bevy_panorbit_camera` crate inside an `egui` image
texture, implemented with the `bevy_egui` crate.
- Bevy Pointcloud Bunny
Load the test file `bunny.pcd` from [pcl](https://github.com/PointCloudLibrary/pc) and display it as colorful voxels with
low alpha.
## Version Compatibility
| bevy | bevy_voxel_plot |
|------|-----------------|
| 0.17 | 3.0 |
| 0.16 | 2.0 |
| 0.15 | 1.0 |
Note: version 1.0 requires the shader to be copied in your directory (did only fix that from 2.1+ )
## Credits
- [Bevy](https://bevyengine.org)
- [bevy_egui](https://github.com/vladbat00/bevy_egui)
- [bevy_panorbit_camera](https://github.com/Plonq/bevy_panorbit_camera)
- [pcl](https://github.com/PointCloudLibrary/pc)