ThreeCrate GPU
GPU-accelerated algorithms for 3D point cloud processing using wgpu.
Features
- Filtering: GPU statistical outlier removal, radius filtering, voxel grid downsampling
- Normal Estimation: Parallel GPU-based surface normal computation
- Nearest Neighbor Search: GPU K-nearest and radius neighbor search
- ICP Registration: GPU-accelerated Iterative Closest Point
- TSDF: Truncated Signed Distance Function volume integration and surface extraction
- Rendering: Real-time point cloud and mesh rendering with PBR material support
- Cross-platform: Vulkan, Metal, and DirectX 12 via wgpu
Usage
Add this to your Cargo.toml:
[]
= "0.6.0"
= { = "0.6.0", = ["gpu"] }
Example
use ;
use ;
// Initialize GPU context
let gpu_context = new.await?;
// GPU-accelerated filtering
let filtered = gpu_voxel_grid_filter.await?;
// GPU ICP registration
let result = gpu_icp.await?;
// TSDF volume integration
let mut volume = create_tsdf_volume;
gpu_tsdf_integrate.await?;
let mesh = gpu_tsdf_extract_surface.await?;
// Real-time rendering
let config = default;
let renderer = new.await?;
let vertices = point_cloud_to_vertices;
renderer.render?;
GPU Requirements
- Vulkan: Preferred backend for best performance
- Metal: macOS support via Metal API
- DirectX 12: Windows support via DX12
- OpenGL: Fallback support for older systems
License
This project is 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.