[Graphics]Geometry Related Notes
keywords: Graphics, Geometry Deforming, Dynamic Remeshing, Delaunay
Common Libraries
Mesh & Geomtry
The Polygon Mesh Processing Library
https://github.com/pmp-library/pmp-library
Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
https://github.com/google/draco
Mesh optimization library that makes meshes smaller and faster to render
https://github.com/zeux/meshoptimizer
A fantasy map generator based on Martin O’Leary’s “Generating fantasy map” notes
https://github.com/rlguy/FantasyMapGenerator
hmm. Heightmap meshing utility.
https://github.com/fogleman/hmm
Simple C++ geometry processing library.
https://github.com/libigl/libigl
An Open-Source subdivision surface library.
https://github.com/PixarAnimationStudios/OpenSubdiv
Infrastructure for solid modeling.
The libfive shared library contains functions to build, manipulate, and render f-reps. A great deal of work has gone into the meshing algorithm, which produces watertight, manifold, hierarchical, feature-preserving triangle meshes.
https://github.com/libfive/libfive
Computational geometry and spatial indexing on the sphere
https://github.com/google/s2geometry
Geometry library for topological robustness
https://github.com/elalish/manifold
Polygon Clipping and Offsetting - C++, C# and Delphi
https://github.com/AngusJohnson/Clipper2
2D constrained Delaunay triangulation library
https://github.com/jhasse/poly2tri
A generic programming header only C++ library for processing polygonal and polyhedral meshes
https://github.com/mlivesu/cinolib
A procedural geometry generation library for C++11
https://github.com/ilmola/generator
Modeling Tools
Dust3D is a cross-platform open-source 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one.
https://github.com/huxingyi/dust3d
Automatic quad remeshing tool
https://github.com/huxingyi/autoremesher
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
https://github.com/FreeCAD/FreeCAD
Geometry Deforming (Dynamic Remeshing)
Papers
Dynamic Remeshing and Applications
A Remeshing Approach to Multiresolution Modeling
https://www.graphics.rwth-aachen.de/media/papers/remeshing1.pdf
Guaranteed Globally Injective 3D Deformation Processing
https://ipc-sim.github.io/IDP/
https://ipc-sim.github.io/IDP/file/paper.pdf
Triangulation
Documents
Triangulation (geometry)
https://en.wikipedia.org/wiki/Triangulation_(geometry)
Delaunay triangulation
https://en.wikipedia.org/wiki/Delaunay_triangulation
Triangulation
https://www.humus.name/index.php?page=News&ID=228
Triangle and polygon usage
https://developer.arm.com/documentation/102695/0100/Triangle-and-polygon-usage
Papers
A fast algorithm for constructing Delaunay triangulations in the plane
https://www.newcastle.edu.au/__data/assets/pdf_file/0017/22508/13_A-fast-algorithm-for-constructing-Delaunay-triangulations-in-the-plane.pdf
Delaunay+Voronoi on a sphere
https://www.redblobgames.com/x/1842-delaunay-voronoi-sphere/
Libraries
CDT is a C++ library for generating constraint or conforming Delaunay triangulations.
https://github.com/artem-ogre/CDT
Computes the 3D Delaunay triangulation on the GPU
https://github.com/ashwin/gstar4d
Signed Distance Field
Tools & Frameworks
Header only, single file, simple and efficient C++11 library to compute the signed distance function (SDF) to a triangle mesh
https://github.com/InteractiveComputerGraphics/TriangleMeshDistance
Multi-channel signed distance field generator
https://github.com/Chlumsky/msdfgen
Misc
Procedural Grass (Computer Shader + Vertex Shader)
Procedural Grass in ‘Ghost of Tsushima’
https://www.youtube.com/watch?v=Ibe1JBF5i5Y
“Mistakes are, after all, the foundations of truth, and if a man does not know what a thing is, it is at least an increase in knowledge if he knows what it is not. ” ― Carl G. Jung