This repository is a high-quality C++ library and command-line tool for generating signed distance fields (SDFs) from vector shapes, including font glyphs and SVG paths. It supports conventional single-channel SDFs, perpendicular distance fields, multi-channel SDFs (MSDF) for sharp corner preservation, and combined MTSDF with an additional true distance channel. The architecture is modular: a dependency-free core library implements all key data structures (Shape, Contour, edges, bitmap, distance transformation) and algorithms (distance computation, edge coloring, error correction). An extensions layer provides font loading via FreeType, SVG parsing via TinyXML2 or dropXML, PNG output via libpng or LodePNG, and optional geometry preprocessing via Skia. The standalone executable wraps all functionality into a comprehensive CLI with many configuration options. The code is well-structured, performant (supports OpenMP parallelization), and actively maintained with regular releases and a detailed changelog. While the core is purely numerical, the extensions introduce external dependencies, but the project provides build presets and vcpkg integration for easy compilation.
FLIP Fluids is a production-grade Blender addon for liquid simulation, integrating a custom C++ FLIP (Fluid Implicit Particle) engine with a comprehensive Python UI. The engine implements advanced numerical methods including level sets, variational pressure solvers, PCG with MIC(0) preconditioning, force fields, whitewater particles, and viscosity solvers, all backed by a vendored Eigen linear algebra library. The Blender addon provides property groups, UI panels, preset management, material libraries, and command-line scripts for baking, rendering, and Alembic/USD export. The architecture is a hybrid: the C++ engine is compiled as a shared library and accessed via C bindings and Python ctypes wrappers, while the addon code follows standard Blender patterns (operators, panels, property groups). Key entry points include the baking operators, simulation domain properties, and the engine's Python bindings in `ffengine/`. External dependencies include Blender (4.5+), Eigen, and optionally Mixbox for color blending. The codebase is well-structured with extensive version compatibility layers, but the vendored Eigen and reliance on Blender's evolving API introduce moderate technical drift.
PyMeshLab is a Python library that provides bindings to the core functionality of MeshLab, a mature C++ application for processing and editing large 3D triangle meshes and point clouds. The library exposes a MeshSet class that wraps hundreds of geometry processing filters (e.g., simplification, smoothing, Boolean operations, surface reconstruction, parameterization) via a dynamic method registration pattern—each filter becomes an method on MeshSet at import time. The architecture relies on a pybind11-based C++ extension module that communicates with MeshLab's filter plugins, VCG library, Eigen, and Qt. Users can load meshes in many standard formats (OBJ, PLY, STL, etc.), apply filters with typed parameters (including custom types like PercentageValue and Color), and export results. The project includes comprehensive documentation, automated tests with sample meshes, and cross-platform build scripts for Linux, macOS, and Windows. While the library is tightly coupled to the MeshLab submodule, its design patterns—such as dynamic filter registration and reusable parameter wrappers—demonstrate solid engineering for bridging C++ and Python.
This repository is a comprehensive C++ library and suite of command-line tools for mesh processing research, originally developed by Hugues Hoppe at Microsoft Research. It implements algorithms from several SIGGRAPH papers (1992–2003), including surface reconstruction from unorganized points, mesh optimization, progressive meshes, view-dependent refinement, subdivision surface fitting, spherical parameterization, and gradient-domain video looping. The core library, libHh, provides a rich set of reusable data structures (e.g., fixed-size vectors, D-dimensional grids, half-edge meshes, progressive mesh representations) and algorithms (spatial search, least-squares solvers, multigrid, image filtering, parallel patterns). The tools are designed as stream-oriented filters that read from stdin and write to stdout, enabling Unix-style pipelines for complex processing workflows. An interactive OpenGL viewer (G3dOGL) supports real-time rendering with level-of-detail and geomorph transitions. The build system supports multiple platforms (Windows, Linux, macOS via Cygwin/MinGW) using GNU make and Visual Studio, with optional dependencies on libpng, libjpeg, and ffmpeg for media I/O. The codebase is well-tested with a comprehensive suite of unit and integration tests, and includes numerous demo scripts that reproduce published research results.
This repository is a curated list of research papers and resources on editing techniques for Neural Radiance Fields (NeRF) and 3D Gaussian Splatting. It contains hundreds of entries organized by year and venue, covering seminal works, surveys, and recent advances in 3D scene editing, stylization, inpainting, relighting, and more. The repository is maintained by Weize Li and collaborators from multiple institutions. It serves as a comprehensive index for researchers and practitioners, but contains no executable code, libraries, or data pipelines. It is purely a reference list.