FreeSG ("Free" as in "Freedom" and "Free of bloat") is an open-source 2D/3D engine and computational geometry library. FreeSG provides a general-purpose scene-graph system, designed to simplify such tasks as real-time rendering and geometrical queries. FreeSG is built on top of Agar, and it runs on all platforms supported by Agar.
FreeSG follows Agar's modular object-oriented design, which allows the library to remain completely generic, while application-specific classes can be implemented in separate libraries, or as part of the application. FreeSG implements rendering of scenes and objects, intersection tests, and solving of systems of geometrical constraints (using degree-of-freedom analysis techniques).
FreeSG is currently under development. The sources are available via via Subversion.
The FreeSG distribution is organized in separate libraries:
- SG: The base scene graph library. Using a compact scene description language, hierarchical scenes composed of arbitrary objects (e.g., polyhedrons, viewpoints, light sources) can be expressed. The relationship between those objects may be defined in terms of classical affine transformations, or systems of geometrical constraints.
- SK: Implements display and edition of dimensioned 2D vector drawings (or sketches). Sketch elements can be expressed using systems of geometrical constraints.
- RG: Rendering and edition of feature-based, composited 2D raster graphics.
- MAP: Implements a classical "tile" engine built on top of RG.
If you have any questions, comments or suggestions, don't hesitate to
contact the maintainer.
There are also forums and an
IRC channel on
(here is a web interface to it).
Your feedback and contributions help us build a better library with better documentation. Don't hesitate to send us your bug reports and enhancement/feature requests with Bugzilla.
|01/06/2013||The RG library has been moved from Agar into the FreeSG distribution.|
|12/03/2009||The Subversion sources of FreeSG have been updated to work with Agar-1.4.|
|03/02/2008||Created freesg-commits mailing list for automated commit notifications of the FreeSG source code exlusively. Note that the previous source-diff list will continue to receive notices as well. The new list provides a RSS feed.|
"The idea is if you use those two shapes and try to colour the plane with them so the colours match, then the only way you can do this is to produce a pattern which never repeats itself." -- Roger Penrose