Agar Logo

Agar 1.7 Manual

(Printable Version)


Agar-SG is a general-purpose scene-graph library built on top of the Agar library ( Agar-SG implements a compact and easily extensible object/scene graph representation, designed to simplify such tasks as real-time rendering and geometrical queries.


The scene-graph library SG implements 3D rendering and geometry methods.

To use this library, link against agar-sg-config --libs
SG(3) Base scene graph object.
SG_Image(3) Textured polygon generated from an image surface.
SG_Camera(3) Viewpoint in scene (tied to the SG_View(3) widget).
SG_CgProgram(3) Vertex/fragment program in the Cg language.
SG_Circle(3) Circle (reference geometry).
SG_Geom(3) Base class for reference geometry objects.
SG_Light(3) Light source.
SG_Node(3) Base class for all elements of a SG(3) scene.
SG_Object(3) Base class for polyhedral objects (using boundary representation).
SG_Plane(3) Plane (reference geometry).
SG_Point(3) Single point (reference geometry).
SG_Polygon(3) Polygon (reference geometry).
SG_PolyBall(3) Sphere (as polyhedral approximation).
SG_PolyBox(3) Rectangular box (as polyhedron).
SG_Program(3) Base class for vertex or fragment programs.
SG_Rectangle(3) Rectangle (reference geometry).
SG_Sphere(3) Sphere (reference geometry).
SG_Texture(3) A texture compiled from a set of surfaces. May also be used to specify parameters for the fixed lighting model.
SG_Triangle(3) Triangle (reference geometry).
SG_View(3) Agar visualization widget for displaying a SG scene.
SG_Voxel(3) Voxel object.


The SK library implements dimensioned 2D sketching and constraint solving. Sketches can contain sets of metric relations (i.e., distances, angles) and logical relations (i.e., coincidence, parallelism, tangency), and SK's attempts to find a solution using degree-of-freedom analysis.

To use this library, link against agar-sk-config --libs.
SK(3) Base sketch object.
SK_View(3) Agar visualization widget for sketch objects.


The RG library implements feature-based graphical tiles.

To use this library, link against agar-rg-config --libs.
RG(3) Feature-based pixel graphics.
RG_Anim(3) Animation element
RG_Feature(3) Feature framework
RG_Pixmap(3) Pixmap image element
RG_Sketch(3) Vector sketch element
RG_Texture(3) Texture element
RG_Tile(3) Base tile element
RG_Tileview(3) Graphical edition and display widget


The MAP library extends RG to entire scenes / levels.

To use this library, link against agar-map-config --libs.
MAP(3) Base map object.
MAP_Actor(3) Map object rendered dynamically.
MAP_View(3) Editor and display widget. ElectronTubeStore