Skip to content

Rust library for Octree, optimised for multi-threading, capable of tracking highly dynamic environment.

License

Notifications You must be signed in to change notification settings

WenqingZong/Octree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Octree

Rust library for Octree, optimized for multi-threading, capable of tracking highly dynamic environment.

GitHub Workflow Status Documentation Codecov

Benchmark

An existing Rust Octree library is used as the baseline performance in benchmark. Currently only building time is tested in benchmark. Query performance will be added later.

Octree Building Benchmark

How To Reproduce Benchmark Result

cd <path/to/repo/root>
python3 bin/generate_points.py
cargo run --bin=bench --release

Todo

This library is under development, currently it's only a single threaded Octree implementation, but already supports dynamic object tracking.

Things to do in the near future:

  • Extend to multi-thread, can use adriankrupa's C++ implementation as a reference.
  • A demo. Could use this library to reimplement my N Body Simulator. My current simulator was a coursework for Computer Graphics course at The University of Manchester, it used python with an $O(n^2)$ algorithm to calculate acceleration, its FPS is horrible.
  • Publish to crates.io when the multithread feature is ready.

About

Rust library for Octree, optimised for multi-threading, capable of tracking highly dynamic environment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published