Book Description

As an Android developer, including Augmented Reality (AR) in your mobile apps could be a profitable new string to your bow. This tutorial takes you through every aspect of AR for Android with lots of hands-on exercises.

  • Understand the main concepts and architectural components of an AR application
  • Step-by-step learning through hands-on programming combined with a background of important mathematical concepts
  • Efficiently and robustly implement some of the main functional AR aspects

In Detail

Augmented Reality offers the magical effect of blending the physical world with the virtual world, which brings applications from your screen into your hands. AR redefines advertising and gaming, as well as education. It will soon become a technology that will have to be mastered as a necessity by mobile application developers.

Augmented Reality for Android Application Development enables you to implement sensor-based and computer vision-based AR applications on Android devices. You will learn about the theoretical foundations and practical details of implemented AR applications, and you will be provided with hands-on examples that will enable you to quickly develop and deploy novel AR applications on your own.

Augmented Reality for Android Application Development will help you learn the basics of developing mobile AR browsers, how to integrate and animate 3D objects easily with the JMonkeyEngine, how to unleash the power of computer vision-based AR using the Vuforia AR SDK, and will teach you about popular interaction metaphors. You will get comprehensive knowledge of how to implement a wide variety of AR apps using hands-on examples.

This book will make you aware of how to use the AR engine, Android layout, and overlays, and how to use ARToolkit. Finally, you will be able to apply this knowledge to make a stunning AR application.

Table of Contents

  1. Augmented Reality for Android Application Development
    1. Table of Contents
    2. Augmented Reality for Android Application Development
    3. Credits
    4. About the Authors
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Augmented Reality Concepts and Tools
      1. A quick overview of AR concepts
        1. Sensory augmentation
          1. Displays
          2. Registration in 3D
          3. Interaction with the environment
        2. Choose your style – sensor-based and computer vision-based AR
          1. Sensor-based AR
          2. Computer vision-based AR
        3. AR architecture concepts
          1. AR software components
          2. AR control flow
        4. System requirements for development and deployment
          1. Installing the Android Developer Tools Bundle and the Android NDK
          2. Installing JMonkeyEngine
          3. Installing VuforiaTM
        5. Which Android devices should you use?
      2. Summary
    9. 2. Viewing the World
      1. Understanding the camera
        1. Camera characteristics
        2. Camera versus screen characteristics
      2. Accessing the camera in Android
        1. Creating an Eclipse project
        2. Permissions in the Android manifest
        3. Creating an activity that displays the camera
        4. Setting camera parameters
        5. Creating SurfaceView
      3. Live camera view in JME
        1. Creating the JME activity
        2. Creating the JME application
      4. Summary
    10. 3. Superimposing the World
      1. The building blocks of 3D rendering
      2. Real camera and virtual camera
        1. Camera parameters (intrinsic orientation)
      3. Using the scenegraph to overlay a 3D model onto the camera view
      4. Improving the overlay
      5. Summary
    11. 4. Locating in the World
      1. Knowing where you are – handling GPS
        1. GPS and GNSS
        2. JME and GPS – tracking the location of your device
      2. Knowing where you look – handling inertial sensors
        1. Understanding sensors
        2. Sensors in JME
      3. Improving orientation tracking – handling sensor fusion
        1. Sensor fusion in a nutshell
        2. Sensor fusion in JME
      4. Getting content for your AR browser – the Google Places API
        1. Querying for POIs around your current location
        2. Parsing the Google Places APIs results
      5. Summary
    12. 5. Same as Hollywood – Virtual on Physical Objects
      1. Introduction to computer vision-based tracking and VuforiaTM
        1. Choosing physical objects
          1. Understanding frame markers
          2. Understanding natural feature tracking targets
      2. VuforiaTM architecture
      3. Configuring VuforiaTM to recognize objects
      4. Putting it together – VuforiaTM with JME
        1. The C++ integration
        2. The Java integration
        3. Summary
    13. 6. Make It Interactive – Create the User Experience
      1. Pick the stick – 3D selection using ray picking
      2. Proximity-based interaction
      3. Simple gesture recognition using accelerometers
      4. Summary
    14. 7. Further Reading and Tips
      1. Managing your content
        1. Multi-targets
        2. Cloud recognition
      2. Improving recognition and tracking
      3. Advanced interaction techniques
      4. Summary
    15. Index