SlideShare a Scribd company logo
1 of 44
Deep-Dive into the Wikitude SDK
Who is talking
2
Philipp Nagele
● CTO of Wikitude (Product & Technology)
● MSc in Computer System Engineering
from Halmstad University in Sweden
● Previous companies:
- 3united/VeriSign Inc.
- T-Mobile Austria
Agenda for today
● Who is Wikitude
● Architecture of the Wikitude SDK
● A deeper look at the JavaScript API and the Plugins API
v v v
Wikitude AR at a glance.
First AR app
in the world
in 2008
10,000 apps
powered by
Wikitude SDK
3D tracking
technology
v
REFERENCES
5
HQ office in Salzburg, Austria
6
AR creator and CMSCloud Recognition
Wikitude AR Products & Tools
Connect your own CMS
Mock-ups only
… understand what you are looking at
Mock-ups only
… make the World your playground
….augment books
Mock-ups only
… augment print, ads, catalogues, packaging
… virtually mount products
Maintenance
Platform agnostic technology
15
AR/VR wearables TabletsSmartphones
multi platform technology core based on C++
Tailored SDKs for Smart Glasses
Partnership since 2014,
optimized SDK for BT-200, full
documentation
→BT-300 in pipeline
Partnership since 2016
optimized SDK for R-7
Partnership since 2014, SDK for
M100, full documentation
→M300 in pipeline
Native API JavaScript API
Easy access to AR mobile development
Xamarin
PhoneGap
Cordova
titaniumunity
Android
iOS
Wikitude SDK Architecture
2D On-Device
Reco &
Tracking
2D Cloud
Reco
3D Reco &
Tracking
Unity3D
Unity
Plugin
Plugins API
Custom CV
plugin
Custom
camera
plugins
Your
App
Your
App Cordova
Plugin
Titanium
Module
Xamarin
Component
Your
App
Cordova Titanium Xamarin
Your
App
Your
App
JavaScript APINative API
Your
App
3D
Rendering
Augmen-
tations
LBS
Plugin
Manager
OpenGL ES2
Rendering
ARMv7
NEON
optimizations
ARMv8
optimizations
Camera
GPU
optimizations
OpenCL
Metal API
IMU
Hardware Abstraction Hardware Optimizations
C++ Layer
Java/Obj C
Wikitude JS SDK Java API
Wikitude JS SDK has a very slim Java API
• ArchitectView
• Lifecycle events (onCreate, onPause, onResume, … methods)
• Load Architect Worlds
Everything else is optional
• ArchitectUrlListener
• ArchitectWorldLoadedListener
• CaptureScreenCallback
Architect view composition
20
OpenGL ES 2 view
* Renders camera stream
* Renders augmentations
Web view
* Loads main .html file
* Transparent background
JavaScript Augmented Reality
Experience
21
Architect Worlds consist of:
• .html file(s)
• .js file(s)
• .css file(s)
• Defines your augmented reality experience
• Use the Wikitude JS API provided within the Architect view context
<script src=“https://wikitude.com/libs/architect.js"></script>
• Loaded by the Wikitude SDKs Architect view
Architect world
22
Javascript execution triggers actions in the underlying C++ layer
Types of augmentations
23
Augmentations are represented by AR.Drawable subclasses
• Images - AR.ImageResource / AR.ImageDrawable
• Videos (also with alpha channel) - AR.VideoDrawable
• 3D models - AR.Model
• Web views - AR.HTMLDrawable
• Labels - AR.Label
Wikitude JavaScript API
24
Model
• AR.GeoLocation
• AR.RelativeLocation
• AR.Tracker
• AR.ImageResource
View
• AR.ImageDrawable
• AR.VideoDrawable
• AR.Model
• AR.Label
Controller
• AR.GeoObject
• AR.Trackable2D
• AR.PropertyAnimation
• AR.AnimationGroup
Geo AR
25
How to define e.g. a point
of interest (POI)
• Define where the
augmentation is placed by
creating AR.GeoLocations
(latitude/longitude coordinates)
• Define the augmentation by
creating AR.Drawables
• Combine location and
drawables using
AR.GeoObjects
= The same geo object is displayed at different locations
POI C
POI A
POI A
Poi B
Pokémon Go like Geo AR
26
How to build a Pokémon Go like AR experience:
Pokémon Go like Geo AR
27
How to build a Pokémon Go like AR experience:
• Define the position of a Pokémon
• Relative to the current user position using AR.RelativeLocation
//a relative location being 12 meters south, 20 meters west and 13 meters lower than current position of the user
var relativeLocation = new AR.RelativeLocation(null, -12, -20, -13);
Pokémon Go like Geo AR
28
How to build a Pokémon Go like AR experience:
• Define the position of a Pokémon
• Relative to the current user position using AR.RelativeLocation
• Absolute to the user using AR.GeoLocation
//latitude, longitude, altitude
var location = new AR.GeoLocation(47.77317, 13.069929, 320.);
Pokémon Go like Geo AR
29
How to build a Pokémon Go like AR experience:
• Define the position of a Pokémon
• Relative to the current user position using AR.RelativeLocation
• Absolute to the user using AR.GeoLocation
• AR.Model object to render the 3D model of a Pokémon
//create a new Model
var model = new AR.Model(“models/pokemon.wt3”);
Pokémon Go like Geo AR
30
How to build a Pokémon Go like AR experience:
• Define the position of a Pokémon
• Relative to the current user position using AR.RelativeLocation
• Absolute to the user using AR.GeoLocation
• AR.Model object to render the 3D model of a Pokémon
• Can be animated through .fbx defined animations
//We want to start an animation inside a model
var model = new AR.Model(“models/pokemon.wt3");
var modelAnim = new AR.ModelAnimation(model, "hit"); //start hit-animation defined inside model
Pokémon Go like Geo AR
31
How to build a Pokémon Go like AR experience:
• Define the position of a Pokémon
• …
• AR.Model object to render the 3D model of a Pokémon
• …
• AR.GeoObject to actually bring the model onto the screen
// a GeoObject with drawables set on creation time
var geoObject = new AR.GeoObject(location, {
drawables : {
cam: [model] //the drawable representing the GeoObject in the camera view
}
});
Pokémon Go like Geo AR
32
How to build an even better Pokémon Go like AR experience:
• Use AR.GeoObjects onEnter/ExitFieldOfVision trigger
• trigger custom events when the Pokémon becomes visible in the
camera
geoObject.onEnterFieldOfVision = function() {
/* your custom behaviour e.g. start a certain model animation */
};
geoObject.onExitFieldOfVision = function() {
/* your custom behaviour */
};
Pokémon Go like Geo AR
33
How to build an even better Pokémon Go like AR experience:
• Use AR.GeoObjects onEnter/ExitFieldOfVision trigger
• trigger custom events when the Pokémon becomes visible in the
camera
• Define a direction indicator drawable for your Pokémon
• Helps users to find the Pokémon around them
var imageResource = new AR.ImageResource(“assets/pokemonIndicator.png”);
var pokemonIndicator = new AR.ImageDrawable(imageResource, 0.2);
// a GeoObject with drawables set on creation time
var geoObject = new AR.GeoObject(location, {
drawables : {
cam: [model], //the drawable representing the GeoObject in the camera view
indicator: pokemonIndicator
}
});
Pokémon Go like Geo AR
34
GeoObjects & HTML content
Menu bar
jQuery support
Geo-located POIs
Multiple Drawables
- 3 images
- 3 text labels
Web View
Augmented Reality View
Pokémon Go like Geo AR
36
How to build an even better Pokémon Go like AR experience:
• Use AR.GeoObjects onEnter/ExitFieldOfVision trigger
• trigger custom events when the Pokémon becomes visible in the
camera
• Define a direction indicator drawable for your Pokémon
• Helps users to find the Pokémon around them
• Use the AR.Radar component to permanently show the position of
a Pokémon in the AR scene
Pokémon Go like Geo AR
37
Pokémon Go like Geo AR
38
How to build an even better Pokémon Go like AR experience:
• Use AR.GeoObjects onEnter/ExitFieldOfVision trigger
• trigger custom events when the Pokémon becomes visible in the
camera
• Define a direction indicator drawable for your Pokémon
• Helps users to find the Pokémon around them
• Use the AR.Radar to permanently show the position of a Pokémon in
the AR scene
• Capture a screenshot after you caught a Pokémon using the
corresponding ArchitectView Java API.
Image Recognition
Augment target images using
JavaScript API capabilities (Drawables,
Sounds, Animations,Videos, 3D
Models)
var kitchenTracker = new AR.Tracker("Kitchen.wtc");
var overlay = new AR.VideoDrawable("howdens.mp4", 0.65);
var trackable2DObject = new AR.Trackable2DObject(
kitchenTracker: "Kitchen",
{ drawables:
{ cam: overlay
}});
Wikitude SDK Architecture
2D On-Device
Reco &
Tracking
2D Cloud
Reco
3D Reco &
Tracking
Unity3D
Unity
Plugin
Plugins API
Custom CV
plugin
Custom
camera
plugins
Your
App
Your
App Cordova
Plugin
Titanium
Module
Xamarin
Component
Your
App
Cordova Titanium Xamarin
Your
App
Your
App
JavaScript APINative API
Your
App
3D
Rendering
Augmen-
tations
LBS
Plugin
Manager
OpenGL ES2
Rendering
ARMv7
NEON
optimizations
ARMv8
optimizations
Camera
GPU
optimizations
OpenCL
Metal API
IMU
Hardware Abstraction Hardware Optimizations
C++ Layer
Java/Obj C
Plugins API in detail
41
Custom
Frame
Provider
Image
Frame
Standard
Frame
Provider
Wikitude
CV EngineRendering
Custom CV
Plugin
Plugins API
class Plugin { public:
…
void cameraFrameAvailable(const Frame&;
cameraFrame_);
void update(const vector<RecognizedTarget>
recognizedTargets_);
void startRender();
void endRender
…
};
1
2
3
4
5
6
7
class RecognizedTarget {
public:
const string&amp; getIdentifier() const;
const Mat4&amp; getModelViewMatrix()
const;
const Mat4&amp; getProjectionMatrix() const;
const float getDistanceToCamera() const;
};
Use-Cases for Plugins API
● Run own computer-vision related code in parallel to Wikitude SDK
-OCR Engine
-Barcode Reader
-Face Recognition
● Own the camera stream and the camera rendering
-Custom effects and shaders
-Remote camera stream with local processing
….architecture, real estate….. ….gaming, filming industry….. ….indoor navigation, retail…..
New algorithms and concepts
3D Tracking / SLAM
Object Reco & Tracking
See more.
At Booth B6

More Related Content

What's hot

Augmented reality
Augmented realityAugmented reality
Augmented reality
bringiton
 
SECON'2017, Кардава Звиад, Android Things + Google Weave
SECON'2017, Кардава Звиад, Android Things + Google WeaveSECON'2017, Кардава Звиад, Android Things + Google Weave
SECON'2017, Кардава Звиад, Android Things + Google Weave
SECON
 

What's hot (19)

AR with vuforia
AR with vuforiaAR with vuforia
AR with vuforia
 
Augmented Reality Application Tutorial for Education 1
Augmented  Reality Application Tutorial for Education 1Augmented  Reality Application Tutorial for Education 1
Augmented Reality Application Tutorial for Education 1
 
Introductory Augmented Reality in Unity with Android and Vuforia
Introductory Augmented Reality in Unity with Android and VuforiaIntroductory Augmented Reality in Unity with Android and Vuforia
Introductory Augmented Reality in Unity with Android and Vuforia
 
Build an AR app v2.0
Build an AR app v2.0Build an AR app v2.0
Build an AR app v2.0
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
Philipp Nagele (Wikitude): Making Your Own Micro AR Cloud
Philipp Nagele (Wikitude): Making Your Own Micro AR CloudPhilipp Nagele (Wikitude): Making Your Own Micro AR Cloud
Philipp Nagele (Wikitude): Making Your Own Micro AR Cloud
 
【Unite 2018 Tokyo】UnityでのVuforiaを使用したARの概要
【Unite 2018 Tokyo】UnityでのVuforiaを使用したARの概要【Unite 2018 Tokyo】UnityでのVuforiaを使用したARの概要
【Unite 2018 Tokyo】UnityでのVuforiaを使用したARの概要
 
Intro to Arkit - ARKit NYC Meetup - 7.20.17
Intro to Arkit - ARKit NYC Meetup - 7.20.17Intro to Arkit - ARKit NYC Meetup - 7.20.17
Intro to Arkit - ARKit NYC Meetup - 7.20.17
 
Virtual or real? AR Foundation best practices from Krikey - Unite Copenhagen ...
Virtual or real? AR Foundation best practices from Krikey - Unite Copenhagen ...Virtual or real? AR Foundation best practices from Krikey - Unite Copenhagen ...
Virtual or real? AR Foundation best practices from Krikey - Unite Copenhagen ...
 
'eyeSpace' platform for Orientation using Augmented Reality experience
'eyeSpace' platform for Orientation using Augmented Reality experience 'eyeSpace' platform for Orientation using Augmented Reality experience
'eyeSpace' platform for Orientation using Augmented Reality experience
 
Magic Leap Developers Presentation by Cliff Baldridge 2018
Magic Leap Developers Presentation by Cliff Baldridge 2018Magic Leap Developers Presentation by Cliff Baldridge 2018
Magic Leap Developers Presentation by Cliff Baldridge 2018
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 
Building AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScriptBuilding AR and VR Experiences for Web Apps with JavaScript
Building AR and VR Experiences for Web Apps with JavaScript
 
WittyMinds Portfolio Tech
WittyMinds Portfolio TechWittyMinds Portfolio Tech
WittyMinds Portfolio Tech
 
WWDC 15 - Apple's Developer Event @ 8-12 June, 2015
WWDC 15 - Apple's Developer Event @ 8-12 June, 2015WWDC 15 - Apple's Developer Event @ 8-12 June, 2015
WWDC 15 - Apple's Developer Event @ 8-12 June, 2015
 
"Android Things + Google Weave" Кардава Звиад, Voximplant, Google Developer E...
"Android Things + Google Weave" Кардава Звиад, Voximplant, Google Developer E..."Android Things + Google Weave" Кардава Звиад, Voximplant, Google Developer E...
"Android Things + Google Weave" Кардава Звиад, Voximplant, Google Developer E...
 
SECON'2017, Кардава Звиад, Android Things + Google Weave
SECON'2017, Кардава Звиад, Android Things + Google WeaveSECON'2017, Кардава Звиад, Android Things + Google Weave
SECON'2017, Кардава Звиад, Android Things + Google Weave
 
Wise Emotions
Wise Emotions Wise Emotions
Wise Emotions
 
apidays LIVE Paris 2021 - Using AR Cloud Anchors APIs to unleash metaverse us...
apidays LIVE Paris 2021 - Using AR Cloud Anchors APIs to unleash metaverse us...apidays LIVE Paris 2021 - Using AR Cloud Anchors APIs to unleash metaverse us...
apidays LIVE Paris 2021 - Using AR Cloud Anchors APIs to unleash metaverse us...
 

Viewers also liked

Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...
Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...
Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...
Startupfest
 

Viewers also liked (18)

Dana-Maria Faneker (CaptainVR) Start Up Pitch
Dana-Maria Faneker (CaptainVR) Start Up PitchDana-Maria Faneker (CaptainVR) Start Up Pitch
Dana-Maria Faneker (CaptainVR) Start Up Pitch
 
Eva Jensterle (ORBIRAMA) Start Up Pitch
Eva Jensterle (ORBIRAMA) Start Up PitchEva Jensterle (ORBIRAMA) Start Up Pitch
Eva Jensterle (ORBIRAMA) Start Up Pitch
 
Dieter Schmalsteig (TU Graz) Review of ISMAR research
Dieter Schmalsteig (TU Graz) Review of ISMAR research Dieter Schmalsteig (TU Graz) Review of ISMAR research
Dieter Schmalsteig (TU Graz) Review of ISMAR research
 
Lynda Joy Gerry (Makropol ApS) Start Up Pitch
Lynda Joy Gerry (Makropol ApS) Start Up PitchLynda Joy Gerry (Makropol ApS) Start Up Pitch
Lynda Joy Gerry (Makropol ApS) Start Up Pitch
 
Lukas Kinigadner (Anyline) Start Up Pitch
Lukas Kinigadner (Anyline) Start Up PitchLukas Kinigadner (Anyline) Start Up Pitch
Lukas Kinigadner (Anyline) Start Up Pitch
 
Wolfgang Stelzle (RE’FLEKT) Time to make Money with Augmented Reality – Tools...
Wolfgang Stelzle (RE’FLEKT) Time to make Money with Augmented Reality – Tools...Wolfgang Stelzle (RE’FLEKT) Time to make Money with Augmented Reality – Tools...
Wolfgang Stelzle (RE’FLEKT) Time to make Money with Augmented Reality – Tools...
 
A Step-by-step guide to Building a Mobile Outdoor AR Application
A Step-by-step guide to Building a Mobile Outdoor AR ApplicationA Step-by-step guide to Building a Mobile Outdoor AR Application
A Step-by-step guide to Building a Mobile Outdoor AR Application
 
Performance Augmentation
Performance AugmentationPerformance Augmentation
Performance Augmentation
 
Ryan Pamplin (Meta) How the world will see in 2020
Ryan Pamplin (Meta) How the world will see in 2020 Ryan Pamplin (Meta) How the world will see in 2020
Ryan Pamplin (Meta) How the world will see in 2020
 
AWE EU 2016 Major Announcements
AWE EU 2016 Major AnnouncementsAWE EU 2016 Major Announcements
AWE EU 2016 Major Announcements
 
Brief Video Game History
Brief Video Game HistoryBrief Video Game History
Brief Video Game History
 
Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...
Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...
Alessandro Terenzi (Inglobe Technologies) Developing AR Apps with the ARMedia...
 
Rudi Schubert (IEEE Standards Association) Challenges for Smartglasses Adoption
Rudi Schubert (IEEE Standards Association) Challenges for Smartglasses AdoptionRudi Schubert (IEEE Standards Association) Challenges for Smartglasses Adoption
Rudi Schubert (IEEE Standards Association) Challenges for Smartglasses Adoption
 
Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...
Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...
Rob Coneybeer (full length) - Why Dungeons and Dragons (not science fiction) ...
 
Dungeons & Dragons history
Dungeons & Dragons historyDungeons & Dragons history
Dungeons & Dragons history
 
The Future of Experiential Media and Projection Mapping
The Future of Experiential Media and Projection MappingThe Future of Experiential Media and Projection Mapping
The Future of Experiential Media and Projection Mapping
 
Michael Hoffman (Object Theory) HoloLens Mixed Reality Collaboration Learnings
Michael Hoffman (Object Theory) HoloLens Mixed Reality Collaboration Learnings Michael Hoffman (Object Theory) HoloLens Mixed Reality Collaboration Learnings
Michael Hoffman (Object Theory) HoloLens Mixed Reality Collaboration Learnings
 
Annette Zimmermann (Gartner) Intro to the AR+VR Market Opportunity
Annette Zimmermann (Gartner) Intro to the AR+VR Market OpportunityAnnette Zimmermann (Gartner) Intro to the AR+VR Market Opportunity
Annette Zimmermann (Gartner) Intro to the AR+VR Market Opportunity
 

Similar to Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK

Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
Verold
 
Breizhcamp Rennes 2011
Breizhcamp Rennes 2011Breizhcamp Rennes 2011
Breizhcamp Rennes 2011
sekond0
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
Francesca Tosi
 

Similar to Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK (20)

Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with Wikitude
 
Building VR Applications For Google Cardboard
Building VR Applications For Google CardboardBuilding VR Applications For Google Cardboard
Building VR Applications For Google Cardboard
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
 
Developing AR and VR Experiences with Unity
Developing AR and VR Experiences with UnityDeveloping AR and VR Experiences with Unity
Developing AR and VR Experiences with Unity
 
Mobile AR Tutorial
Mobile AR TutorialMobile AR Tutorial
Mobile AR Tutorial
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
 
FLAR Workflow
FLAR WorkflowFLAR Workflow
FLAR Workflow
 
mDevcon tour 2014 beyondar
mDevcon tour 2014 beyondarmDevcon tour 2014 beyondar
mDevcon tour 2014 beyondar
 
Making Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDKMaking Augmented Reality Applications with Android NDK
Making Augmented Reality Applications with Android NDK
 
Breizhcamp Rennes 2011
Breizhcamp Rennes 2011Breizhcamp Rennes 2011
Breizhcamp Rennes 2011
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR Experience
 
Cardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesCardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR Experiences
 
Augmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectAugmented Reality Application - Final Year Project
Augmented Reality Application - Final Year Project
 
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014Mobile AR SDK Tutorial - Augmented World Expo New York 2014
Mobile AR SDK Tutorial - Augmented World Expo New York 2014
 
Marker-based Augmented Monuments on iPhone and iPad
Marker-based Augmented Monuments on iPhone and iPadMarker-based Augmented Monuments on iPhone and iPad
Marker-based Augmented Monuments on iPhone and iPad
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
 
DIY- computer vision with GWT
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
 
426 lecture6a osgART Development
426 lecture6a osgART Development426 lecture6a osgART Development
426 lecture6a osgART Development
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real world
 
Augmented reality
Augmented realityAugmented reality
Augmented reality
 

More from AugmentedWorldExpo

Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...
Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...
Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...
AugmentedWorldExpo
 
Valentin Heun (PTC): One Reality - A 3rd generation AR User Interface
Valentin Heun (PTC): One Reality - A 3rd generation AR User InterfaceValentin Heun (PTC): One Reality - A 3rd generation AR User Interface
Valentin Heun (PTC): One Reality - A 3rd generation AR User Interface
AugmentedWorldExpo
 

More from AugmentedWorldExpo (20)

Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...
Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...
Bill Meyer (Virtual Science Center): Turning Kids on to STEM by Letting Them ...
 
Nick Klingensmith (Microsoft): Increasing Immersion with the MR Lighting Tools
Nick Klingensmith (Microsoft): Increasing Immersion with the MR Lighting ToolsNick Klingensmith (Microsoft): Increasing Immersion with the MR Lighting Tools
Nick Klingensmith (Microsoft): Increasing Immersion with the MR Lighting Tools
 
Rokid: Design a seamless solution for AR glasses
Rokid: Design a seamless solution for AR glassesRokid: Design a seamless solution for AR glasses
Rokid: Design a seamless solution for AR glasses
 
How AR is Transforming the Online Retail Experience
How AR is Transforming the Online Retail ExperienceHow AR is Transforming the Online Retail Experience
How AR is Transforming the Online Retail Experience
 
Chloe Doyeon Kim (MAXST): The Current and Future State of MAXST Platform
Chloe Doyeon Kim (MAXST): The Current and Future State of MAXST PlatformChloe Doyeon Kim (MAXST): The Current and Future State of MAXST Platform
Chloe Doyeon Kim (MAXST): The Current and Future State of MAXST Platform
 
AWE USA 2019: Owning Augmented Space
AWE USA 2019: Owning Augmented SpaceAWE USA 2019: Owning Augmented Space
AWE USA 2019: Owning Augmented Space
 
Victor Sun (Shadow Creator): How to turn Mixed Reality “headset” into “glasses”?
Victor Sun (Shadow Creator): How to turn Mixed Reality “headset” into “glasses”?Victor Sun (Shadow Creator): How to turn Mixed Reality “headset” into “glasses”?
Victor Sun (Shadow Creator): How to turn Mixed Reality “headset” into “glasses”?
 
Chris Pickett (DigiLens): XR is Hard: Here’s Why
Chris Pickett (DigiLens): XR is Hard: Here’s WhyChris Pickett (DigiLens): XR is Hard: Here’s Why
Chris Pickett (DigiLens): XR is Hard: Here’s Why
 
Antti Sunnari (Dispelix Ltd): Full-color, single-waveguide near-eye displays ...
Antti Sunnari (Dispelix Ltd): Full-color, single-waveguide near-eye displays ...Antti Sunnari (Dispelix Ltd): Full-color, single-waveguide near-eye displays ...
Antti Sunnari (Dispelix Ltd): Full-color, single-waveguide near-eye displays ...
 
Jian Liang (HiScene): AR for Industry in China: From Concepts to Real Applica...
Jian Liang (HiScene): AR for Industry in China: From Concepts to Real Applica...Jian Liang (HiScene): AR for Industry in China: From Concepts to Real Applica...
Jian Liang (HiScene): AR for Industry in China: From Concepts to Real Applica...
 
Augmented reality meets Television -Ellen DeGeneres' Game of Games AR App
Augmented reality meets Television -Ellen DeGeneres' Game of Games AR AppAugmented reality meets Television -Ellen DeGeneres' Game of Games AR App
Augmented reality meets Television -Ellen DeGeneres' Game of Games AR App
 
Jennifer Cook (Dreamscape Immersive): Dreamscape Immersive Presentation
Jennifer Cook (Dreamscape Immersive): Dreamscape Immersive PresentationJennifer Cook (Dreamscape Immersive): Dreamscape Immersive Presentation
Jennifer Cook (Dreamscape Immersive): Dreamscape Immersive Presentation
 
AWE USA 2019: 2 Partners sharing 1 vision for smart operators
AWE USA 2019: 2 Partners sharing 1 vision for smart operatorsAWE USA 2019: 2 Partners sharing 1 vision for smart operators
AWE USA 2019: 2 Partners sharing 1 vision for smart operators
 
Phil LaFond (Bosch Automotive Service Solutions Inc.): Bosch Technical Traini...
Phil LaFond (Bosch Automotive Service Solutions Inc.): Bosch Technical Traini...Phil LaFond (Bosch Automotive Service Solutions Inc.): Bosch Technical Traini...
Phil LaFond (Bosch Automotive Service Solutions Inc.): Bosch Technical Traini...
 
Scott Montgomerie (Scope AR): AR’s Influence on the Workforce of Tomorrow: Jo...
Scott Montgomerie (Scope AR): AR’s Influence on the Workforce of Tomorrow: Jo...Scott Montgomerie (Scope AR): AR’s Influence on the Workforce of Tomorrow: Jo...
Scott Montgomerie (Scope AR): AR’s Influence on the Workforce of Tomorrow: Jo...
 
Hugo Swart (Qualcomm, Inc.): How 5G, Distributed Processing and Technology Ad...
Hugo Swart (Qualcomm, Inc.): How 5G, Distributed Processing and Technology Ad...Hugo Swart (Qualcomm, Inc.): How 5G, Distributed Processing and Technology Ad...
Hugo Swart (Qualcomm, Inc.): How 5G, Distributed Processing and Technology Ad...
 
Valentin Heun (PTC): One Reality - A 3rd generation AR User Interface
Valentin Heun (PTC): One Reality - A 3rd generation AR User InterfaceValentin Heun (PTC): One Reality - A 3rd generation AR User Interface
Valentin Heun (PTC): One Reality - A 3rd generation AR User Interface
 
Anton Ebert (Siemens Healthcare): Challenges and approaches on integrating a ...
Anton Ebert (Siemens Healthcare): Challenges and approaches on integrating a ...Anton Ebert (Siemens Healthcare): Challenges and approaches on integrating a ...
Anton Ebert (Siemens Healthcare): Challenges and approaches on integrating a ...
 
Sarah Hill (Healium by StoryUP Studios): Healing Stories Powered by Biometrics
Sarah Hill (Healium by StoryUP Studios): Healing Stories Powered by BiometricsSarah Hill (Healium by StoryUP Studios): Healing Stories Powered by Biometrics
Sarah Hill (Healium by StoryUP Studios): Healing Stories Powered by Biometrics
 
Iva Leon (ARVR Women and Allies): Building community with social VR
Iva Leon (ARVR Women and Allies): Building community with social VRIva Leon (ARVR Women and Allies): Building community with social VR
Iva Leon (ARVR Women and Allies): Building community with social VR
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK

  • 1. Deep-Dive into the Wikitude SDK
  • 2. Who is talking 2 Philipp Nagele ● CTO of Wikitude (Product & Technology) ● MSc in Computer System Engineering from Halmstad University in Sweden ● Previous companies: - 3united/VeriSign Inc. - T-Mobile Austria
  • 3. Agenda for today ● Who is Wikitude ● Architecture of the Wikitude SDK ● A deeper look at the JavaScript API and the Plugins API
  • 4. v v v Wikitude AR at a glance. First AR app in the world in 2008 10,000 apps powered by Wikitude SDK 3D tracking technology v REFERENCES
  • 5. 5 HQ office in Salzburg, Austria
  • 6. 6
  • 7. AR creator and CMSCloud Recognition Wikitude AR Products & Tools Connect your own CMS
  • 8. Mock-ups only … understand what you are looking at Mock-ups only
  • 9. … make the World your playground
  • 11. … augment print, ads, catalogues, packaging
  • 14.
  • 15. Platform agnostic technology 15 AR/VR wearables TabletsSmartphones multi platform technology core based on C++
  • 16. Tailored SDKs for Smart Glasses Partnership since 2014, optimized SDK for BT-200, full documentation →BT-300 in pipeline Partnership since 2016 optimized SDK for R-7 Partnership since 2014, SDK for M100, full documentation →M300 in pipeline
  • 17. Native API JavaScript API Easy access to AR mobile development Xamarin PhoneGap Cordova titaniumunity Android iOS
  • 18. Wikitude SDK Architecture 2D On-Device Reco & Tracking 2D Cloud Reco 3D Reco & Tracking Unity3D Unity Plugin Plugins API Custom CV plugin Custom camera plugins Your App Your App Cordova Plugin Titanium Module Xamarin Component Your App Cordova Titanium Xamarin Your App Your App JavaScript APINative API Your App 3D Rendering Augmen- tations LBS Plugin Manager OpenGL ES2 Rendering ARMv7 NEON optimizations ARMv8 optimizations Camera GPU optimizations OpenCL Metal API IMU Hardware Abstraction Hardware Optimizations C++ Layer Java/Obj C
  • 19. Wikitude JS SDK Java API Wikitude JS SDK has a very slim Java API • ArchitectView • Lifecycle events (onCreate, onPause, onResume, … methods) • Load Architect Worlds Everything else is optional • ArchitectUrlListener • ArchitectWorldLoadedListener • CaptureScreenCallback
  • 20. Architect view composition 20 OpenGL ES 2 view * Renders camera stream * Renders augmentations Web view * Loads main .html file * Transparent background
  • 21. JavaScript Augmented Reality Experience 21 Architect Worlds consist of: • .html file(s) • .js file(s) • .css file(s) • Defines your augmented reality experience • Use the Wikitude JS API provided within the Architect view context <script src=“https://wikitude.com/libs/architect.js"></script> • Loaded by the Wikitude SDKs Architect view
  • 22. Architect world 22 Javascript execution triggers actions in the underlying C++ layer
  • 23. Types of augmentations 23 Augmentations are represented by AR.Drawable subclasses • Images - AR.ImageResource / AR.ImageDrawable • Videos (also with alpha channel) - AR.VideoDrawable • 3D models - AR.Model • Web views - AR.HTMLDrawable • Labels - AR.Label
  • 24. Wikitude JavaScript API 24 Model • AR.GeoLocation • AR.RelativeLocation • AR.Tracker • AR.ImageResource View • AR.ImageDrawable • AR.VideoDrawable • AR.Model • AR.Label Controller • AR.GeoObject • AR.Trackable2D • AR.PropertyAnimation • AR.AnimationGroup
  • 25. Geo AR 25 How to define e.g. a point of interest (POI) • Define where the augmentation is placed by creating AR.GeoLocations (latitude/longitude coordinates) • Define the augmentation by creating AR.Drawables • Combine location and drawables using AR.GeoObjects = The same geo object is displayed at different locations POI C POI A POI A Poi B
  • 26. Pokémon Go like Geo AR 26 How to build a Pokémon Go like AR experience:
  • 27. Pokémon Go like Geo AR 27 How to build a Pokémon Go like AR experience: • Define the position of a Pokémon • Relative to the current user position using AR.RelativeLocation //a relative location being 12 meters south, 20 meters west and 13 meters lower than current position of the user var relativeLocation = new AR.RelativeLocation(null, -12, -20, -13);
  • 28. Pokémon Go like Geo AR 28 How to build a Pokémon Go like AR experience: • Define the position of a Pokémon • Relative to the current user position using AR.RelativeLocation • Absolute to the user using AR.GeoLocation //latitude, longitude, altitude var location = new AR.GeoLocation(47.77317, 13.069929, 320.);
  • 29. Pokémon Go like Geo AR 29 How to build a Pokémon Go like AR experience: • Define the position of a Pokémon • Relative to the current user position using AR.RelativeLocation • Absolute to the user using AR.GeoLocation • AR.Model object to render the 3D model of a Pokémon //create a new Model var model = new AR.Model(“models/pokemon.wt3”);
  • 30. Pokémon Go like Geo AR 30 How to build a Pokémon Go like AR experience: • Define the position of a Pokémon • Relative to the current user position using AR.RelativeLocation • Absolute to the user using AR.GeoLocation • AR.Model object to render the 3D model of a Pokémon • Can be animated through .fbx defined animations //We want to start an animation inside a model var model = new AR.Model(“models/pokemon.wt3"); var modelAnim = new AR.ModelAnimation(model, "hit"); //start hit-animation defined inside model
  • 31. Pokémon Go like Geo AR 31 How to build a Pokémon Go like AR experience: • Define the position of a Pokémon • … • AR.Model object to render the 3D model of a Pokémon • … • AR.GeoObject to actually bring the model onto the screen // a GeoObject with drawables set on creation time var geoObject = new AR.GeoObject(location, { drawables : { cam: [model] //the drawable representing the GeoObject in the camera view } });
  • 32. Pokémon Go like Geo AR 32 How to build an even better Pokémon Go like AR experience: • Use AR.GeoObjects onEnter/ExitFieldOfVision trigger • trigger custom events when the Pokémon becomes visible in the camera geoObject.onEnterFieldOfVision = function() { /* your custom behaviour e.g. start a certain model animation */ }; geoObject.onExitFieldOfVision = function() { /* your custom behaviour */ };
  • 33. Pokémon Go like Geo AR 33 How to build an even better Pokémon Go like AR experience: • Use AR.GeoObjects onEnter/ExitFieldOfVision trigger • trigger custom events when the Pokémon becomes visible in the camera • Define a direction indicator drawable for your Pokémon • Helps users to find the Pokémon around them var imageResource = new AR.ImageResource(“assets/pokemonIndicator.png”); var pokemonIndicator = new AR.ImageDrawable(imageResource, 0.2); // a GeoObject with drawables set on creation time var geoObject = new AR.GeoObject(location, { drawables : { cam: [model], //the drawable representing the GeoObject in the camera view indicator: pokemonIndicator } });
  • 34. Pokémon Go like Geo AR 34
  • 35. GeoObjects & HTML content Menu bar jQuery support Geo-located POIs Multiple Drawables - 3 images - 3 text labels Web View Augmented Reality View
  • 36. Pokémon Go like Geo AR 36 How to build an even better Pokémon Go like AR experience: • Use AR.GeoObjects onEnter/ExitFieldOfVision trigger • trigger custom events when the Pokémon becomes visible in the camera • Define a direction indicator drawable for your Pokémon • Helps users to find the Pokémon around them • Use the AR.Radar component to permanently show the position of a Pokémon in the AR scene
  • 37. Pokémon Go like Geo AR 37
  • 38. Pokémon Go like Geo AR 38 How to build an even better Pokémon Go like AR experience: • Use AR.GeoObjects onEnter/ExitFieldOfVision trigger • trigger custom events when the Pokémon becomes visible in the camera • Define a direction indicator drawable for your Pokémon • Helps users to find the Pokémon around them • Use the AR.Radar to permanently show the position of a Pokémon in the AR scene • Capture a screenshot after you caught a Pokémon using the corresponding ArchitectView Java API.
  • 39. Image Recognition Augment target images using JavaScript API capabilities (Drawables, Sounds, Animations,Videos, 3D Models) var kitchenTracker = new AR.Tracker("Kitchen.wtc"); var overlay = new AR.VideoDrawable("howdens.mp4", 0.65); var trackable2DObject = new AR.Trackable2DObject( kitchenTracker: "Kitchen", { drawables: { cam: overlay }});
  • 40. Wikitude SDK Architecture 2D On-Device Reco & Tracking 2D Cloud Reco 3D Reco & Tracking Unity3D Unity Plugin Plugins API Custom CV plugin Custom camera plugins Your App Your App Cordova Plugin Titanium Module Xamarin Component Your App Cordova Titanium Xamarin Your App Your App JavaScript APINative API Your App 3D Rendering Augmen- tations LBS Plugin Manager OpenGL ES2 Rendering ARMv7 NEON optimizations ARMv8 optimizations Camera GPU optimizations OpenCL Metal API IMU Hardware Abstraction Hardware Optimizations C++ Layer Java/Obj C
  • 41. Plugins API in detail 41 Custom Frame Provider Image Frame Standard Frame Provider Wikitude CV EngineRendering Custom CV Plugin Plugins API class Plugin { public: … void cameraFrameAvailable(const Frame&; cameraFrame_); void update(const vector<RecognizedTarget> recognizedTargets_); void startRender(); void endRender … }; 1 2 3 4 5 6 7 class RecognizedTarget { public: const string&amp; getIdentifier() const; const Mat4&amp; getModelViewMatrix() const; const Mat4&amp; getProjectionMatrix() const; const float getDistanceToCamera() const; };
  • 42. Use-Cases for Plugins API ● Run own computer-vision related code in parallel to Wikitude SDK -OCR Engine -Barcode Reader -Face Recognition ● Own the camera stream and the camera rendering -Custom effects and shaders -Remote camera stream with local processing
  • 43. ….architecture, real estate….. ….gaming, filming industry….. ….indoor navigation, retail….. New algorithms and concepts 3D Tracking / SLAM Object Reco & Tracking