Augmented Reality made easy
Augmented reality (AR) is a field of computer research which deals with the combination of real-world and computer-generated data (virtual reality), where computer graphics objects are blended into real footage in real time.
Presently, most AR research is concerned with the use of live video imagery which is digitally processed and “augmented” by the addition of computer-generated graphics. (More from Wikipedia…) This quick guide assumes you have a web cam, printer, and some programming experience.
What frameworks are out there?
C++. Most of what you’ll find online is based on the ARToolKit (Augmented Reality Toolkit) written in C++. It’s important to note that the ARToolKit was released under the GNU GPL but commercial licenses are also available. There’s also the NyARToolkit in C++ which boasts ports to Java, Android, C#, and ActionScript3. I don’t speak Japanese, however, so I left this road largely untraveled. I don’t actually speak much C++ either, but if you’re an advanced programmer, ARToolKitPlus is probably for you. And they’ve done some impressive marker tracking too.
Java / Processing. Java implementations typically use the JMyron library for vision processing which only seems to work for PCs. Kevin Cox of Jibberia has compiled a Mactel JMyron version but this didn’t work for me either; particularly frustrating because this rules out developing in Processing. (If someone on a Mactel has better luck, let me know.) If you’re on a Windows box then check out Bryan Chung’s Simple ARToolKit Library for Processing. JMyron is also available for Max MSP and Adobe Director but I’ve yet to try them.
Flash / ActionScript3. Saqoosha offers the definitive Flash implementation called FLARToolkit which is built from the NyARToolkit’s Java implementation and uses the Papervision3D library. His FlarToolkit Start-up Guide is a handy resource. Eric Socolofsky of Transmote released FLARManager this past April which simplifies building on top of the FLARToolkit. If you’re a Flex Builder user the BasicFLARToolKit by John Lindquist at PV3D.org has some useful examples and source code. For more specific questions or concerns check the FLARToolkit Google User Group.