A high-performance Taichi-based Linear BVH implementation for 3D geometry processing
Project description
TIBVH - Taichi-based Linear BVH
A high-performance Python package for 3D spatial data structures and geometry processing using Taichi for GPU acceleration.
Installation
Requirements
- Python 3.8+
- Taichi 1.6.0+
- NumPy 1.19.0+
- PyTorch 1.10.0+
Install from Source
git clone https://github.com/TATP-233/tibvh.git
cd tibvh
uv sync
For development tools:
uv sync --group dev
Development
This project uses a src/tibvh package layout and keeps the local virtual
environment in .venv through uv.
uv run --only-group dev ruff format .
uv run --only-group dev ruff check .
uv build
Supported Geometry Types
- PLANE (0): Infinite planes with optional bounds
- SPHERE (2): Spheres defined by center and radius
- CAPSULE (3): Capsules (cylinders with hemispherical caps)
- ELLIPSOID (4): Ellipsoids with three different radii
- CYLINDER (5): Finite cylinders with caps
- BOX (6): Oriented bounding boxes
- TRIANGLES: Individual triangles for mesh processing
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Based on the Linear BVH construction algorithm by Tero Karras (NVIDIA Research)
- Powered by the Taichi programming language
- Inspired by modern GPU-accelerated spatial data structures
References
- Karras, T. (2012). "Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees". NVIDIA Research.
- Lauterbach, C. et al. (2009). "Fast BVH Construction on GPUs". Computer Graphics Forum.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tibvh-0.1.3.tar.gz.
File metadata
- Download URL: tibvh-0.1.3.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89b81815c4959b3878a946d1b76a0cda5d84813eedd7fa61c3e7d86ef7205c33
|
|
| MD5 |
c47759a3bd5c93696fdf52e77d431518
|
|
| BLAKE2b-256 |
5f78723836394b06d731a46351b3b079be8a6291dde8c3f0019da78c9a4c2c36
|
File details
Details for the file tibvh-0.1.3-py3-none-any.whl.
File metadata
- Download URL: tibvh-0.1.3-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
849c84e5c15371d4f77e101cdc1b99673eea7c0f05462f5932a9c5a9402433fb
|
|
| MD5 |
33ac6470458a914c62814028f863e3ce
|
|
| BLAKE2b-256 |
ba5fc397deea52b23da5b079590e45ba174c1e993dfb6edbf5cfc9bf581d70e9
|