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