Creating Augmented Reality

In case you want to create some augmented reality application(example), you need a library which provides you with geometry information for a given video stream based on some kind of markers.

Luckily there is already a library, which uses quite obvious, yet easy to use markers and was actually a pioneer in this area: ARToolkit. Unluckily the developers decided to continue the development closed source as ARToolkit4. So the last freely available version is ARToolkit2, whose core recognition routines have not been touched since 2006. Nevertheless the SVN of the branch still shows some activity, so it seems to be at least maintained.

But even before the library went closed source, several forks of it were created:

  • ARToolkitPlus: uses an improved algorithm and claims to have better performance. No longer developed
  • OSGART: wraps ARToolkit and combines it with Open Scene Graph
  • NyARToolkit: seems to me like an overengineered rewrite in C++. Pointless.

Comparing the available choices, ARToolkitPlus is the most advanced one, although it was not updated since 2006 (but neither was the core of ARToolkit) and it even does not compile on a current GCC. But looking at the code it is still much more solid than ARToolkit, that is why I decided to pick up the development. I spent several hours to make it compile again and ported the build system from qmake to scons. You can see the results at launchpad. By using launchpad there is now even a bug-tracker and a question system, so you are welcome to join me there.

Currently ARToolkitPlus lacks the camera and rendering support to be feature complete with ARToolkit and give users an easy start. So this is obviously the next on the Todo list.