Skip to content

Luo-Yihao/Atom3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atom3D

High-performance CUDA mesh processing library with BVH acceleration for voxelization, distance fields, mesh extraction, and intersection queries.

CUDA Sparse License

🎉 News

  • [2026-01] atom3d.mesh_extractor.SparseDiffDMC — Differentiable mesh extraction from sparse voxel input
  • [2026-01] atom3d.apps.VisibilityQuery — Ray-based visibility testing
  • [2026-01] atom3d.apps.sparse_flood_fill — High-performance CUDA flood fill from multi-resolution voxelization

✨ Features

Atom3D provides high-performance primitives for modern 3D deep learning:

  • Core Geometry: MeshBVH with SAT intersection, clipping, and UDF/SDF queries.
  • Mesh Extraction: SparseDiffDMC for differentiable, sparse-grid isosurface extraction.
  • Spatial Indexing: OctreeIndexer and CubeGrid for efficient sparse data management.
  • Applications: VisibilityQuery and CUDA-optimized sparse_flood_fill.

👉 See Detailed Features Documentation

Installation

pip install -e . --no-build-isolation

or

pip install git+https://github.com/Luo-Yihao/atom3d.git --no-build-isolation

Requirements: Python ≥ 3.8, PyTorch ≥ 2.0, CUDA ≥ 11.0

Quick Start

from atom3d import MeshBVH
from atom3d.grid import OctreeIndexer
from atom3d.mesh_extractor import SparseDiffDMC

# BVH-accelerated mesh queries
bvh = MeshBVH(vertices, faces, device='cuda')
result = bvh.udf(points, return_closest=True)

# Octree-based voxelization
octree = OctreeIndexer(max_level=10, device='cuda')
candidates = octree.octree_traverse(bvh, min_level=4)

# Differentiable mesh extraction
dmc = SparseDiffDMC(device='cuda')
mesh_verts, mesh_faces = dmc(voxel_coords, sdf, cube_idx, resolution)

Acknowledgements

  • cubvh — BVH implementation reference
  • FlexiCubes — Differentiable mesh extraction
  • diso — Differentiable isosurface extraction

License

This project is licensed under the MIT License.

About

Atom3d, atomising geometry, is a mesh processing toolbox specifically designed for 3D learning.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors