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. FreeSG provides a general-purpose scene-graph system, designed to simplify such tasks as real-time rendering and geometrical queries. Since it is built entirely on top of Agar, FreeSG is highly portable.

While FreeSG has been used to implement content creation tools, CAD/CAM applications and videogames, its base libraries (SG and SK) do not provide any CAD or game-centric features. 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. The base FreeSG libraries focus on generic problems (e.g., expressing scenes, rendering polyhedral approximations quickly, computing intersections between objects, and solving systems of geometrical constraints through degree-of-freedom analysis).

FreeSG depends on the Agar library, and it released under the same revised BSD license. FreeSG and its related projects are sponsored by Csoft.net Hosting and ElectronTubeStore.com.

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 irc.freenode.net (here is a web interface to it).

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

Hosted by Csoft.net Eliminate DRM!