Introduction
OSGART is a C++ library that give you the possibility to create easily
AR Applications by combining ARToolKit tracking library
with the OpenSceneGraph rendering library (like done in OSGAR).
But the toolkit also aims to enhance development of Mixed-Reality,
Mediated-Reality applications by high integration of video
possibilities. Also it brings to ARToolKit the missing part of the
registration requirements, by concentrating on the visual and
photometric aspect.
Why?
A lot of toolkits are available for developping and creating AR applications, from low-level programming (e.g. ARToolKit) to high level programming, evermore design tools. Therefore it doesn't sound so novel to add another one on the list of your "AR+something toolkit". But the success of ARToolKit have been largely demonstrated not by his high efficient programming possibilities, but more by it's simplicity, availability and homegeonity. We therefore want to reproduce this idea in another generation of toolkit we hope to bring with OSGART.Going from GLUT to OpenSceneGraph increase slowly the learning curve (C++, SceneGraph programming) for the user in a profit of higher graphics quality of applications, following the visual quality you can found in standard games. Secondly, the basic version of toolkit is also free and can be use easily by academics, students for their research like they can do it with ARToolKit. Thirdly, the toolkit remains on the same simple idea of "all-in-one" package with simple principles for developping your application (create a video, initialize tracker, etc.). Users can naturally develop in C++ but also non-programmer have access to Python, Lua, or Ruby interface (by using the osgBindings or osgIntrospection module). And finally, our toolkit has been designed to going further on the possibility of an AR Toolkit by providing high level video services, modular dynamic spatial registration and high quality visual registrations.
Features
- Object-Oriented design
- Plugin-based trackers and video capture classes
- Support of multiple video inputs (live, file, network)
- Integration of high level video object (video background, planes, billboard, etc.)
- Video shader concept (GLSL)
- Generic Marker concept
- Support of multiple marker-based or natural features tracking technologies (artoolkit, artoolkit++, arttag, bazar, etc.)
- Support of shadow rendering techniques (actually Depth Shadow for AR Planar Application)
- Application Programming Interface in C++ but also in Python, Lua, Ruby, C# and Java
(either through osgBindings or osgIntrospection)
- Completely reflected API through osgIntrospection wrapper
- Easy development of interactive applications (some examples used than the one of ARToolKit)
- Natural Support of all possibilities of OpenSceneGraph (3D High Quality Rendering, Statistics, Export from 3DS Max/MAYA, Support of Nodekits (OpenAL, ReplicantBody), multiple platforms, etc)