Architecture
ARToolkit, OpenGL and GLUT are used as a plattform independent basesystem.
They provide the necessary input and output channels for interactive
applications. ARGUI builds an additional abstraction layer on top
of this to provide the easy creation of 2D User Interfaces in Augmented
Reality. It also seperates the C-coded ARGUI/ARToolkit kernel from
the C++ style arObjects.

ARGUIs
most important class is called arObject. It provides the programmer
with a unified interface for programming interactive graphics in AR.
By deriving from this baseclass, the programmer automatically gets
a pointer-sensitive surface which generates local cursor-coordinates
when the surface is hit by the system cursor (see Colour
Picking).

Features
On
top of this, more functionality requires more API dependency. A texturemanager
which currently loads PNG and Targa files can be utilized. Sound can
be realized with libraries like Bass, FMod or the like. Textures can
be updated. Both, by Software or by Hardware.
ARGUI
implements the glGUI system which allows the easy creation of graphical
user interfaces with Hardware acceleration.
Macromedia
Flash movies can be played by using the original Flash ActiveX Control
and rendering its output to a texture. The graphical output works
perfect but the emulation of mouse- and key-events is still not complete.
Once this is done, additional ActiveX controls can be adapted for
Augmented Reality applications in no time.