The API is in C and a lot of samples provide good starting points for creating new applications (skeleton framework).
Figure 1 summarises the relationship between your Application, ARToolKit and dependent librairies.
The ARToolKit library consists of four modules:
The next figures show the hierarchical structure of ARToolKit and relation with dependencies libraries.
The modules respect a global pipeline metaphor (video->tracking->display), so the user can easily replace any module with another (like gsub with Open Inventor renderer).
ARToolKit uses different image formats between different modules. Figure 4 summarises all the different formats supported. Some formats are only available on certain platforms or with certain hardware.
Information about the detected markers is contained in the ARMarkerInfo structure defined in ar.h in the include directory.