A Go-based 3D line art engine that renders 3D scenes as 2D vector graphics (SVG/PNG) for plotting and illustration.
ln is a 3D line art engine written in Go that converts 3D scenes into 2D vector graphics like SVGs and PNGs. It solves the problem of generating precise, scalable line art from 3D models for applications such as pen plotting, technical drawings, and digital illustration. Unlike traditional raster renderers, it outputs vector paths, ensuring clean edges and infinite scalability.
Developers and artists working with pen plotters, technical illustration, or vector-based 3D visualization who need programmatic control over line art output.
Developers choose ln for its unique vector-based rendering pipeline, CSG operations for complex shapes, and flexibility in texturing—offering a specialized tool for high-quality line art that integrates seamlessly into Go projects.
3D line art engine.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates clean 2D vector paths in SVG and PNG formats, ideal for pen plotting and scalable illustrations, as shown in the author's plotter drawings.
Allows custom surface paths by overriding the Paths() method, enabling artistic line patterns, demonstrated in the StripedCube example.
Supports intersection, difference, and union operations to construct intricate shapes, useful for technical illustration, though with boundary limitations.
Written in Go and installed via go get, making it easy to embed in Go projects for developers familiar with the ecosystem.
The README admits difficulty computing joints at CSG boundaries, requiring sufficient texturing on original solids for decent results, which adds complexity.
Only a basic README with examples; lacks comprehensive API docs or tutorials, potentially hindering adoption for advanced use cases.
The step parameter for chopping paths affects rendering speed and quality; fine granularity increases computation time, making it slow for complex scenes.