What is FreeSG?

Application using FreeSG FreeSG ("Free" as in "Freedom" and "Free of bloat") is an open-source 2D/3D engine and computational geometry library built on top of Agar. FreeSG provides a general-purpose scene-graph system, designed to simplify such tasks as real-time rendering and geometrical queries. FreeSG works out of the box on all Agar-supported platforms.

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 released under the revised BSD license.

There is no official release of FreeSG yet. Sources are available via subversion at: https://dev.csoft.net/freesg/trunk.

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 for the project.

Support FreeSG/Agar 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

Csoft.net ElectronTubeStore.com