Extensions/ComfyUI libigl
ComfyUI Extension

ComfyUI libigl

libigl geometry processing wrapper for ComfyUI - mesh manipulation and analysis nodes

By PozzettiAndrea·Created 9 months ago·Updated 21 days ago· 209
PozzettiAndrea/ComfyUI-GeometryPack
Nodes125
On cloudLocal install
Categorygeompack/repair, geompack/reconstruction
Stars209
Updated21 days ago

Nodes (125)

Add Normals to PointCloud
geompack/repair
Alpha Wrap (Shrink Wrap)
geompack/reconstruction
Backdraft View
geompack/visualization
Boolean Operations
geompack/boolean
Boolean Blender Exact (backend)
geompack/boolean
Boolean libigl CGAL (backend)
geompack/boolean
Check Normals
geompack/repair
Combine Meshes
geompack/combine
Combine Meshes (Batch)
geompack/combine
Compute Normals
geompack/repair
Connected Components
geompack/analysis
Create Primitive
geompack/primitives
Decimate CGAL Edge Collapse (backend)
geompack/decimation
Decimate Pro (backend)
geompack/decimation
Decimate Fast Simplification (backend)
geompack/decimation
Decimate Mesh
geompack/decimation
Decimate Quadric Edge Collapse (backend)
geompack/decimation
Decimate Vertex Clustering (backend)
geompack/decimation
Degenerate Faces
geompack/analysis
Depth + Normals to Mesh
geompack/texture_remeshing
Self Intersections
geompack/repair
Extract Largest Component
geompack/analysis
Extract Skeleton
geompack/skeleton
Fill Holes
geompack/repair
Fill Holes CGAL (backend)
geompack/repair
Fill Holes GPU (backend)
geompack/repair
Fill Holes IGL Fan (backend)
geompack/repair
Fill Holes PyMeshFix (backend)
geompack/repair
Fill Holes PyMeshLab (backend)
geompack/repair
Fill Holes Trimesh (backend)
geompack/repair
Fix Normals
geompack/repair
Fix Normals IGL BFS (backend)
geompack/repair
Fix Normals IGL Raycast (backend)
geompack/repair
Fix Normals IGL Signed Dist (backend)
geompack/repair
Fix Normals IGL Winding (backend)
geompack/repair
Fix Normals Trimesh (backend)
geompack/repair
Fix Self Intersections (Perturbation)
geompack/repair
Fix Self Intersections (Removal)
geompack/repair
Get Mesh Filename
geompack/io
Load Mesh
geompack/io
Load Mesh Batch
geompack/io
Load Mesh (Blender)
geompack/io
Load Mesh (FBX)
geompack/io
Load Mesh Batch (Glob)
geompack/io
Load Mesh (Path)
geompack/io
Merge Vertices
geompack/repair
MeshFix
geompack/repair
Mesh from Skeleton
geompack/skeleton
Mesh Info
geompack/analysis
Mesh Quality
geompack/analysis
Mesh to Mesh Distance
geompack/distance
Mesh to Point Cloud
geompack/conversion
Normalize to BBox
geompack/transforms
Open Edges
geompack/analysis
ParaView Filter
geompack/paraview
Point to Mesh Distance
geompack/distance
Preview Gaussian
geompack/visualization
Preview Mesh (Three.js)
geompack/visualization
Preview Mesh (Analysis)
geompack/visualization
Preview Mesh Dual
geompack/visualization
Preview Mesh Multi
geompack/visualization
Preview Mesh UV
geompack/visualization
Preview Mesh
geompack/visualization
Preview Mesh Batch (VTK)
geompack/visualization
Reconstruct Alpha Shape (backend)
geompack/reconstruction
Reconstruct Ball Pivoting (backend)
geompack/reconstruction
Reconstruct Convex Hull (backend)
geompack/reconstruction
Reconstruct Poisson (backend)
geompack/reconstruction
Reconstruct Surface
geompack/reconstruction
Remesh
geompack/remeshing
Remesh Blender
geompack/remeshing
Remesh Blender Blocks (backend)
geompack/remeshing
Remesh Blender Sharp (backend)
geompack/remeshing
Remesh Blender Voxel (backend)
geompack/remeshing
Remesh CGAL (backend)
geompack/remeshing
Remesh Geogram Anisotropic (backend)
geompack/remeshing
Remesh Geogram Smooth (backend)
geompack/remeshing
Remesh GPU (backend)
geompack/remeshing
Remesh Instant Meshes (backend)
geompack/remeshing
Remesh MMG (backend)
geompack/remeshing
Remesh PMP Adaptive (backend)
geompack/remeshing
Remesh PMP Uniform (backend)
geompack/remeshing
Remesh PyMeshLab (backend)
geompack/remeshing
Remesh QuadriFlow (backend)
geompack/remeshing
Remesh QuadWild (backend)
geompack/remeshing
Remesh Self Intersections
geompack/repair
Remesh with Texture
geompack/texture_remeshing
Remove Degenerate Faces
geompack/repair
Save Mesh
geompack/io
Save Meshes to Folder
geompack/io
Sharpen Fast Effective (backend)
geompack/smoothing
Sharpen Guided Normal (backend)
geompack/smoothing
Sharpen L0 Minimize (backend)
geompack/smoothing
Sharpen Libigl Unsharp (backend)
geompack/smoothing
Sharpen Mesh
geompack/smoothing
Sharpen Non Iterative (backend)
geompack/smoothing
Sharpen Two Step (backend)
geompack/smoothing
Sharpen Unsharp Mask (backend)
geompack/smoothing
Skeleton Edge Collapse (backend)
geompack/skeleton
Skeleton Teasar (backend)
geompack/skeleton
Skeleton Vertex Clusters (backend)
geompack/skeleton
Skeleton Wavefront (backend)
geompack/skeleton
Smooth HC Laplacian (backend)
geompack/smoothing
Smooth Laplacian (backend)
geompack/smoothing
Smooth Mesh
geompack/smoothing
Smooth Taubin (backend)
geompack/smoothing
Smooth Trimesh Laplacian (backend)
geompack/smoothing
Smooth Trimesh Taubin (backend)
geompack/smoothing
Split By Field
geompack/combine
Subsample Point Cloud
geompack/conversion
Depth Map to Mesh
geompack/texture_remeshing
Transform Mesh
geompack/transforms
UV Blender Cube (backend)
geompack/uv
UV Blender Cylinder (backend)
geompack/uv
UV Blender Smart (backend)
geompack/uv
UV Blender Sphere (backend)
geompack/uv
UV CuMesh (backend)
geompack/uv
UV libigl ARAP (backend)
geompack/uv
UV libigl Harmonic (backend)
geompack/uv
UV libigl LSCM (backend)
geompack/uv
UV Unwrap
geompack/uv
UV Xatlas (backend)
geompack/uv
Visualize Normal Field
geompack/repair
Refine Mesh
geompack/remeshing
Scramble Int Field
geometrypack/analysis
Readme

[!WARNING] Warning, uses experimental package comfy-env to attempt a one click isolated install. Will download and use pixi package manager.

ComfyUI-GeometryPack

Installation

Three options, in order of speed → reliability:

  1. ComfyUI Manager (recommended) — search for GeometryPack in the Manager and click Install from the highest version displayed. If that doesn't work, try nightly.
  2. Manager via Git URL — in ComfyUI Manager: "Install via Git URL" with https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git.
  3. Manual (most reliable):
    cd ComfyUI/custom_nodes
    git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git
    cd ComfyUI-GeometryPack
    pip install -r requirements.txt --upgrade
    python install.py
    

Please report any problems you hit during installation or use of my nodes — open a Discussion or Issue. Very grateful for your help! 🙏


Professional geometry processing nodes for ComfyUI. Load, analyze, remesh, unwrap, and visualize 3D meshes directly in your workflows.

<div align="center"> <a href="https://pozzettiandrea.github.io/ComfyUI-GeometryPack/"> <img src="https://pozzettiandrea.github.io/ComfyUI-GeometryPack/gallery-preview.png" alt="Workflow Test Gallery" width="800"> </a> <br> <b><a href="https://pozzettiandrea.github.io/ComfyUI-GeometryPack/">View Live Test Gallery →</a></b> </div>

Some previews

https://github.com/user-attachments/assets/c2e393ba-fb57-4a46-b772-31c4b01f47f8

https://github.com/user-attachments/assets/b1bcd570-719f-4be5-868d-f72c9f1f4c10

https://github.com/user-attachments/assets/607e6b29-a8d4-4346-873a-5bd6b140bdba

https://github.com/user-attachments/assets/7718a5d7-cd5b-47d3-874c-29ada4320694

Community

Questions or feature requests? Open a Discussion on GitHub.

Join the Comfy3D Discord for help, updates, and chat about 3D workflows in ComfyUI.

Multi-Backend Nodes

Each of these nodes presents a single UI with a backend selector dropdown. Under the hood, ComfyUI's GraphBuilder dispatches to hidden backend-specific nodes, enabling cross-environment execution (main, Blender, GPU, CGAL).

| Node | Backends | |------|----------| | Remesh | pymeshlab_isotropic, instant_meshes, quadriflow, mmg_adaptive, geogram_smooth, geogram_anisotropic, pmp_uniform, pmp_adaptive, quadwild, cgal_isotropic, blender_voxel, blender_smooth, blender_sharp, blender_blocks, gpu_cumesh | | Decimate Mesh | quadric_edge_collapse, fast_simplification, vertex_clustering, cgal_edge_collapse, decimate_pro | | Fill Holes | trimesh, pymeshlab, pymeshfix, igl_fan, cgal, gpu_cumesh | | Smooth Mesh | taubin, laplacian, hc_laplacian, trimesh_laplacian, trimesh_taubin | | Sharpen Mesh | two_step, unsharp_mask, libigl_unsharp, l0_minimize, guided_normal, vsa_snap, fast_effective, non_iterative | | Fix Normals | trimesh, igl_bfs, igl_winding, igl_raycast, igl_signed_dist | | Reconstruct Surface | poisson, ball_pivoting, alpha_shape, convex_hull, delaunay_2d, alpha_wrap (CGAL) | | UV Unwrap | xatlas, cumesh (GPU), libigl_lscm, libigl_harmonic, libigl_arap, blender_smart, blender_cube, blender_cylinder, blender_sphere | | Extract Skeleton | wavefront, vertex_clusters, edge_collapse, teasar | | Boolean | libigl_cgal, blender_exact |

Workflow Screenshots

Boolean Operations

Boolean Operations

Decimation

Decimation

Fill Holes

Fill Holes

Fix Normals

Fix Normals

Surface Reconstruction

Surface Reconstruction

Remeshing

Remeshing

Sharpening

Sharpening

Skeleton Extraction

Skeleton Extraction

Smoothing

Smoothing

UV Unwrap

UV Unwrap

License

GNU General Public License v3.0 or later (GPL-3.0-or-later)

This project is licensed under the GPL-3.0-or-later license to ensure compatibility with the included dependencies:

  • Blender (GPL-2.0-or-later) - Used for advanced UV unwrapping and remeshing
  • CGAL (GPL-3.0-or-later) - Used for boolean operations and isotropic remeshing
  • PyMeshLab (GPL-3.0) - Used for mesh processing operations

What This Means

  • ✅ You can use, modify, and distribute this software freely
  • ✅ You can use it for commercial purposes
  • ⚠️ If you distribute modified versions, you must also license them under GPL-3.0-or-later
  • ⚠️ You must share the source code of any modifications you distribute

For more details, see:

Questions?

If you have questions about licensing, please open an issue on GitHub.