threecrate
A comprehensive 3D point cloud and mesh processing library for Rust.
Overview
threecrate is a modular, high-performance library for 3D point cloud and mesh processing. This umbrella crate provides convenient access to all threecrate functionality in one place.
Features
- Core: 3D data structures (Point, PointCloud, TriangleMesh, Transform)
- Algorithms: Filtering, registration (ICP, NDT, global), segmentation, normal estimation, feature descriptors (FPFH, SHOT), mesh boolean operations, mesh smoothing, colorization, SIMD-accelerated distances, and streaming processing
- GPU: GPU-accelerated filtering, normal estimation, ICP, nearest neighbor search, TSDF volume integration, and real-time rendering via wgpu
- I/O: PLY, OBJ, PCD, LAS/LAZ, XYZ/CSV, E57 with streaming and memory-mapped I/O support
- Reconstruction: Poisson, Ball Pivoting, Alpha Shapes, Delaunay, Marching Cubes, MLS, and automatic algorithm selection
- Simplification: Quadric error metrics, edge collapse, clustering-based, and progressive mesh simplification
- Visualization: Interactive 3D viewer with orbit, pan, and zoom controls
Quick Start
Add this to your Cargo.toml:
[]
= "0.6.0"
Basic usage:
use *;
let cloud = read_point_cloud?;
let cloud = voxel_grid_filter?;
let normals_cloud = estimate_normals?;
let mesh = auto_reconstruct?;
write_mesh?;
Installation Options
Option 1: Umbrella Crate (Recommended)
[]
= "0.6.0"
Option 2: Individual Crates (Minimal dependencies)
[]
= "0.6.0"
= "0.6.0"
= "0.6.0"
= "0.6.0"
= "0.6.0"
= "0.6.0"
= "0.6.0"
Feature Flags
[]
= { = "0.6.0", = ["all"] }
Available features:
default: core, algorithms, io, simplificationcore: Core data structures (always enabled)algorithms: Point cloud processing algorithmsgpu: GPU-accelerated processingio: File format supportsimplification: Mesh simplificationreconstruction: Surface reconstructionvisualization: Interactive visualizationall: All features
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contributing
Contributions are welcome. Please see CONTRIBUTING.md for guidelines.