Skip to main content

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.10 - 3.13
  • Taichi 1.7.4
  • NumPy 1.26+
  • PyTorch 2.7.0

Install from Source

git clone https://github.com/discoverse-dev/tibvh.git
cd tibvh
uv sync

pyproject.toml pins torch==2.7.0 and keeps NumPy in a bounded range. The checked-in uv.lock includes wheels for macOS and Linux, including the Linux NVIDIA runtime packages required by PyTorch on x86_64.

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

tibvh-0.1.5.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tibvh-0.1.5-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file tibvh-0.1.5.tar.gz.

File metadata

  • Download URL: tibvh-0.1.5.tar.gz
  • Upload date:
  • Size: 17.4 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

Hashes for tibvh-0.1.5.tar.gz
Algorithm Hash digest
SHA256 421217ae467a4822c1c9c4175ba31046902af2b16b7d44720d29af7a73e7a82f
MD5 5cd83e2cac44ac2cebcb3dbbd9649b23
BLAKE2b-256 ced6569b41739241b68d843822af9a4a983f1f2dd0baad2ba53c4fab3dff2c81

See more details on using hashes here.

File details

Details for the file tibvh-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: tibvh-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 19.9 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

Hashes for tibvh-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 13ac3ae11c84b9b7b714169db2ea30a1d368ac5cd3d52290c5232266d4b4d91d
MD5 50569d96ab2df0711cc9055c96018278
BLAKE2b-256 faac1d652332776ac007d0daad8502b35b53ee454ba67d0ae7a4b4ad1bf6665d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page