Now, we start to hear many smartphones or tablet pc feature Augmented Reality (AR). But what is it exactly? Are there any applications right now? How to development application making use of Augmented Reality?
Augmented Reality Definition
Ronald Azuma’s definition says that Augmented Reality:
- combines real and virtual
- is interactive in real time
- is registered in 3D
Augmented Reality Applications
Augmented Reality usually involves a real-life background capture (image or video) which is then going through image recognition and finally, some data is overlaid on top of this background.
Here are some of applications that are available today (commercially or experimentally):
- PSV Eindoven has created an application to track offside at football matches.
- Augmented Reality Business cards can be scanned, recognized and a video presentation of the person and/or the company on the business card can be played back.
- Augmented Reality can help you find your way (and your holes) at golf courses.
- There are numerous Augmented Reality maps that can find your position (Using GPS), show directions and places information by showing the place you are with the back camera and getting the data from the internet.
- Fans of RPG games such as Quake, Half Life, Doom… are able to shoot real objects using virtual bullets thanks to Augmented Reality with games such as Firepower.
- Augmented reality can also be used as a virtual compass showing latitude and longitude information on top of the image captured by your device.
Some times it just involves a piece of white to get started. Many Augmented Reality apps are not really convincing now (difficult to see the point), but expect more and more Augmented Reality applications, especially in 2 or 3 years with the new generation of processors for smartphones and other mobile devices. Currently, mobile processors are not quite powerful for highly accurate Augmented Reality.
Developing Augmented Reality Applications with Qualcomm AR SDK
If you want to develop some cool AR applications, Qualcomm already provides an SDK for Augmented Reality. The SDK is available for Windows, Linux and MAC. You’ll need to register twice: Once to access Qualcomm developer network and another time specifically for the AR SDK. Currently, QCAR is still beta, but it will be officially released early 2011.
The current version (QCAR SDK v. 0.9.7) supports the following devices / OS:
|Nexus One||Android 2.1 update 1, Android 2.2|
|HTC||Desire||Android 2.1 update 1, Android 2.2|
|HTC||Incredible||Android 2.1 update 1, Android 2.2|
|HTC||EVO 4G||Android 2.1 update 1, Android 2.2|
|HTC||G2 (T-Mobile) / Desire Z||Android 2.2|
|Other Snapdragon devices||N/A||Android 2.1 update 1, Android 2.2|
The QCAR SDK requires both the Android SDK and the NDK. The Android NDK is an extension to the Android SDK that lets Android developers build performance-critical parts of their applications in native code. SDK and NDK communicate over the Java-Native-Interface (JNI).
To set-up the development environment please install the following components in the order they appear below:
- Java Development Kit (JDK)
- Eclipse IDE
- Android SDK Downloader
- Android ADT package
- Android SDK platform support
- Android NDK
Once all the software above are installed, simply run qcar-sdk-0.9.7.exe to install QualComm Augmented Reality software development kit.
Qualcomm developper website provides the documentation to get started with the installation, connection to the target, building a sample application, creating the APK and loading it to the target.
Qualcomm’s AR Extension for Unity will enable developers to use Unity’s award-winning game development tool to rapidly build augmented reality applications for Android smartphones. Building upon Qualcomm’s existing AR platform for Android, the Extension, combined with the Unity development platform, expands the options available and allows developers to build richer interactive games and applications with shorter development times.
Basically, the original QCAR will allow you to use the GPS and compass and the Unity extension will use computer vision technology (e.g. image recognition, video tracking..) to create Augmented Reality applications.
In the short video below you can see Unity Editor in action and a demo.(Qualcomm Trailer for AR SDK with Unity Extension)