osgART is a framework for building Augmented Reality and Mixed Reality applications. The framework is based on the OpenSceneGraph (OSG) rendering library. osgART adds additional nodes and functionality to the OSG scene graph, making it simple to rapidly develop high-quality graphical AR applications.
OSG is a mature and widely-used rendering library. Based on OpenGL, it provides a high-level interface to low-level OpenGL calls, and adds a comprehensive set of features to enhance performance and streamline development. Performance is enhanced through various culling and optimization techniques. Development is simplified through cross-platform support, windowing support, image and model loaders, and utility classes for all manner of scene-graph related activities.
There are many approaches to video capture and tracking for video see-through augmented reality. Therefore, osgART does not force the use of any one approach, rather it provides a generic framework in which any approach can be supported, through the use of plugin modules. This allows the developer to select which video capture method and which tracking method they wish to use from a library of available modules, or alternatively to develop new plugins as needed. By default, osgART uses the ARToolKit library for video capture and tracking.
The plugin architecture of osgART has many advantages. For example, an application developed with standard marker-based tracking can easily be upgraded to newer markerless tracking by swapping out the tracking plugin. Also, different versions of the same application can be provided in situations where certain plugins require commercial licenses. In a research environment, osgART is a convenient platform for comparing the performance and quality of different trackers because the same application can be evaluated with different plugins.
osgART is cross-platform (Windows, Mac, Linux) and is developed in C++. However, in the same way as OSG itself, it is possible to develop osgART applications using bindings for other languages. Currently, bindings are available for Python and Lua. With these languages, it is even easier to quickly develop and prototype AR applications.
osgART is available as open-source software. Commercial licenses are available. Please see the License page for more information.