A UGMENTED F UTURE OF M OBILE R EALITY Oleg Novosad Mobile / Web / Game Engineer.

Slides:



Advertisements
Similar presentations
Word 2007 ® Business and Personal Communication How can Word 2007 help you make complicated documents easier to understand?
Advertisements

A Natural Interactive Game By Zak Wilson. Background This project was my second year group project at University and I have chosen it to present as it.
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
ARIS The Augmented Rea l ity Studio. Outline  Background  Problem definition  Proposed solution  System design  Functionalities  Comparison with.
Cosc 5/4730 Android media Part 2: Pictures and Video.
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Android Aims to bring Internet-style innovation and openness to mobile phones.
Richard Yu.  Present view of the world that is: Enhanced by computers Mix real and virtual sensory input  Most common AR is visual Mixed reality virtual.
Introducing new web content management tools for Priority...
Camera. Make new project – Give permission to use camera Make button called TakePicture Make button called ShowLastPic Add SurfaceView to layout – Surface.
1 Ravi Vatrapu Augmented Reality 3D Interactive Ads on Smartphones Chehimi, F., Coulton, P., & Edwards, R. (2007). Augmented Reality 3D.
Cosc 5/4730 OpenGL ES An introduction. OpenGL ES GL was first developed by SGI as a priority graphics language – OpenGL was developed initially by SGI.
Application Fundamentals. See: developer.android.com/guide/developing/building/index.html.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Visions from the Future Inspiration college 14 April 2008.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
OpenGL Brian Farrimond Robina Hetherington. What is OpenGL A specification of a set of functions for drawing graphics –Names of functions –What information.
Development of mobile applications using PhoneGap and HTML 5
A New interaction with the world. Augmented Reality  Combination of real-world and computer generated environment.  Sounds  Videos  Graphics  GPS.
WEB DESIGNING Prof. Jesse A. Role Ph. D TM UEAB 2010.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
X3D Extension for (Mobile) AR Contents International AR Standards Workshop Seoul, Korea Oct 11-12, 2010 Gerard J. Kim (WG 6 AR Standards Study Group Coordinator)
GAO YUAN We are here for:  We know iPhone from iOS Human Interface Guidelines  The guidelines and principles that help you.
What is Multimedia? Multimedia is a combination of text, art, sound, animation, and video. It is delivered to the user by electronic or digitally manipulated.
Augmented Reality and 3D modelling Done by Stafford Joemat Supervised by Mr James Connan and Mr Mehrdad Ghaziasgar.
Video Eyewear for Augmented Reality Presenter: Manjul Sharma Supervisor: Paul Calder.
Development and Target Environments Presenters: Ron Fosner and Rudy Cazabón.
Programming Concepts. Derive a new class from Activity of the framework Prepare the data beforehand, e.g., vertices, colours, normal vectors, texture.
1 Introduction to Engineering Dimensioning - 2 Agenda Understand the principles of good dimensioning practice Apply the standard dimensioning practices.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
An Introduction to Silverlight Matt Harrington Developer Evangelist, Microsoft October 20, 2011.
Intro to Dreamweaver Web Design Section 7-1 Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course.
Web 2.0: Concepts and Applications 2 Publishing Online.
4Focus Remote Control & HUD App for AR.Drone & Windows 8.
GENESIS OF VIRTUAL REALITY  The term ‘Virtual reality’ (VR) was initially coined by Jaron Lanier, founder of VPL Research (1989)..
OpenGL-ES 3.0 And Beyond Boston What is EGL? EGL handles: –provides available surface specifications –context management –surface binding –render.
Objectives of This Session
Video Eyewear for Augmented Reality Presenter: Manjul Sharma Supervisor: Paul Calder.
TEAM PARADIGM Progress to date 13 th November 2009.
Camera. Make new project – CameraFun – Give permission to use camera write_external _storage Make two buttons – id takePictureButton – id showLastPicButton.
Android Graphics Library. Color Android colors are represented with four numbers, one each for alpha, red, green, and blue (ARGB). Each component can.
Augmented Reality Authorized By: Miss.Trupti Pardeshi. NDMVP, Comp Dept. Augmented Reality 1/ 23.
AUGMENTED AND VISUAL REALITY. WHAT IS AUGMENTED AND VISUAL REALITY?
Building Apps for BlackBerry PlayBook Terry Ryan Adobe Developer Evangelist
Multimedia Capture & storage. Introduction A rich set of API for recording of audio & video. A developer has two choices  launch the built-in app using.
CONTENT FOCUS FOCUS INTRODUCTION INTRODUCTION COMPONENTS COMPONENTS TYPES OF GESTURES TYPES OF GESTURES ADVANTAGES ADVANTAGES CHALLENGES CHALLENGES REFERENCE.
Virtual Navigation of Multimedia Maps A versatile map generator and viewer Virtual Navigation of Multimedia Maps A versatile map generator and viewer Robert.
User-Centered Design for Mobile Experiences Dean Rehberger, Ph.D. Director, Liza Potts, Ph.D. Director.
Virtual Navigation of Multimedia Maps A versatile map generator and viewer Virtual Navigation of Multimedia Maps A versatile map generator and viewer Robert.
Window Shopper Presented By: Mohammad Harris Samee Solangi Maria Fatima Muhammad Saad Khan Supervised By : Dr. Muhammad Sarim.
By: Eliav Menachi.  Android custom 2D graphics library  OpenGL ES 1.0 for high performance 3D graphics.
Customizing Share Document Previews Will Abson Senior Integrations Engineer and Share Extras Project Lead
DIGITECH OFFICE MIX By Lachlan Thurecht. WHAT IS AUGMENTED REALITY? In this section, you need to have at least 5 dot points that explain the concept of.
Nosipho Masilela COSC 480.  Define Augmented Reality  Augmented Reality vs. Reality  History of AR and its Applications  Augmented Tracking  Future.
School of Engineering and Information and Communication Technology KIT305/KIT607 Mobile Application Development Android OS –Permissions (cont.), Fragments,
AUGMENTED REALITY VIJAY COLLEGE OF ENGG. FOR WOMEN PRESENTED BY…….
Graphics & Animation Radan Ganchev Astea Solutions.
LocusEngine APPLICATIONS
Lecture 8: Graphics By: Eliav Menachi.
What is Augmented Reality?
Create your Benner - intro
Augmented Reality SDK Introduction
Augmented Reality INTRODUCTION
.NET and .NET Core 7. XAML Pan Wuming 2017.
augmented reality (AR) and the future
Cannon Game App Android How to Program
3rd Studierstube Workshop TU Wien
Lecture 8: Graphics By: Eliav Menachi.
CIS 470 Mobile App Development
Augmented Reality Apps
Presentation transcript:

A UGMENTED F UTURE OF M OBILE R EALITY Oleg Novosad Mobile / Web / Game Engineer

Agenda What is Augmented Reality? Basic augmented reality concepts It is everywhere Show me some code! Targets in augmented reality Tools for rich UX Bigger example (Vuforia Intro) Q&A

Virtual objects + Reality = Augmented Reality “AR augments the real world environment with virtual information improving people’s senses and skills.” - Ronald Azuma, A Survey of Augmented Reality

1960’s - Boeing - hands-free flight navigation for pilots Prof. Ivan Sutherland - Head Mounted Display (HMD) LB Rosenberg - Air Force - Virtual Fixtures KARMA - Knowledge-based Augmented Reality for Maintenance Assistance Nara Institute of Science and Technology – First AR Toolkit AR Quake - First AR Video Game

Basic augmented reality concepts

Reality Source of reality Canvas Virtuality Native elements OpenGL (± OpenCV) Tools Application Target Idea

It is everywhere

“Annual revenues generated by mobile AR applications and services are expected to approach $1.5 billion by 2015 and more than $10 billion by 2020, up from less than $2 million in 2010.” – Juniper Research

Code examples: case 1 – “virtual buttons”

Code examples: case 2 – “OpenGL” public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Now let's create an OpenGL surface. glView = new GLSurfaceView(this); // To see the camera preview, the OpenGL surface has to be created translucently. glView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); glView.getHolder().setFormat(PixelFormat.TRANSLUCENT); // The renderer will be implemented in a separate class, GLView. glView.setRenderer(new GLClearRenderer()); // Now set this as the main view. setContentView(glView); // Now also create a view which contains the camera preview... cameraView = new CameraView(this); //...and add it, wrapping the full screen size. addContentView(cameraView, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); } Set OpenGL as Content View, add camera view (actual surface view) to content Configure Renderer public class GLClearRenderer implements Renderer { public void onDrawFrame(GL10 gl) { float c = 1.0f / 256 * (System.currentTimeMillis() % 256); gl.glClearColor(c, c, c, 0.5f); gl.glClear(GL10.GL_COLOR_BUFFER_BIT); } public void onSurfaceChanged( GL10 gl, int width, int height ) { // This is called whenever the dimensions of the surface have changed. // We need to adapt this change for the GL viewport. gl.glViewport(0, 0, width, height); } public void onSurfaceCreated(GL10 gl, EGLConfig config) { // No need to do anything here. }

Extend SurfaceView to handle camera public class CameraView extends SurfaceView implements Callback { private Camera camera; public CameraView(Context context) { super(context); // We're implementing the Callback interface and want to get notified // about certain surface events. getHolder().addCallback(this); // We're changing the surface to a PUSH surface, meaning we're receiving // all buffer data from another component - the camera, in this case. getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } public void surfaceCreated(SurfaceHolder holder) { // Once the surface is created, simply open a handle to the camera hardware. camera = Camera.open(); } public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // This method is called when the surface changes, e.g. when it's size is set. // We use the opportunity to initialize the camera preview display dimensions. Camera.Parameters p = camera.getParameters(); p.setPreviewSize(width, height); camera.setParameters(p); // We also assign the preview display to this surface... try { camera.setPreviewDisplay(holder); } catch(IOException e) { e.printStackTrace(); } //...and start previewing. From now on, the camera keeps pushing preview // images to the surface. camera.startPreview(); } public void surfaceDestroyed( SurfaceHolder holder ) { camera.stopPreview(); camera.release(); camera = null; }

T ARGET IN A UGMENTED R EALITY

Target – is your canvas Location Markers – Frame marker – QR-code and barcode – Custom marker Text Images – Predefined – User-defined Objects – Simple shapes – 3D objects – Complex geometries – People

Quality Features ARPA ARLab and other ARPA ARLab and other Layar D’Fuion Layar D’Fuion Tools for rich UX Cortexia DroidAR Cortexia DroidAR Wikitude Vuforia

FYI Resources AR tools comparison Top iOS AR apps reality-iphone-applications/ reality-iphone-applications/ AR Future in Mobile AR Future future-of-design/ Google :)

Q UESTIONS ?

T HANK YOU !