SlideShare a Scribd company logo
1 of 30
Download to read offline
An Introduction to
WebVR
Tony Parisi
June 15, 2016
About me
get GLAM
http://www.glamjs.org/
meetups
http://www.meetup.com/WebGL-Developers-Meetup/
http://www.meetup.com/Web-VR/
creds
Co-creator, VRML and X3D
Designer and Spec Editor, glTF
get the books!
Learning Virtual Reality
Programming 3D Applications with HTML and WebGL
WebGL: Up and Running
http://www.amazon.com/-/e/B008UZ888I
Tony Parisi
is VP of Web and Open Technologies
at Wevr
tony@wevr.com
+1  (415) 902 8002
@auradeluxe
http://www.tonyparisi.com/
advice
http://www.rothenbergventures.com
http://www.uploadvr.com
http://www.highfidelity.io
http://www.shiift.world/
The Next Platform
VR and AR will become
the predominant way that
we work, play, transact and
communicate using digital
technologies.
Billions invested
2020 market projections range from $14B to $120B
Q: How do VR and AR reach 5B users by 2020?
A: Not one app at a time.
Friction
Downloads/installs
Controlled distribution
Limited business models
Silo experiences
Proprietary development
Closed culture
Experts only
The Metaverse is too big of
an idea…
for an app store.
http://commonspace.wordpress.com/2014/03/12/happybirthday/
The World Wide Web
No downloads - no friction
Instant sharing - post a link
Freedom of choice - no gatekeepers
Culture of collaboration
Instant publishing
Runs everywhere
Introducing:
WebVR
Bringing VR and the Web Together
No Friction
See link, clink link, go
Shareable, searchable,
discoverable
Web Scale
Advertising
Digital marketing
E-commerce
Social media
Long tail content and
apps
Total Immersion
Image: http://cordonmedia.com/
Browse and communicate
in 3D
Endless information within
our grasp
The ultimate dope for a
dopamine culture
Built on Standards
Universal playback engine aka “VR browser”
Standard formats and APIs for 3D graphics
and 360 VR video
Free, open source tools
Collaborative effort
The 3D Rendering Standard
Runs on all desktop and mobile
browsers
3B seats!
Cardboard VR
and Mobile Browsers
Works today.
Just render side-by-side using
WebGL and pop it into a
Carboard viewer.
The WebVR API
Quake 3 WebVR demo, developed by Brandon
Jones of Google
http://media.tojicode.com/q3bsp/
Multi-vendor effort to define new
browser API and features
Head tracking and fullscreen
stereo VR mode
Desktop and mobile
WebVR Development Status
Developer builds of Chrome, Firefox (desktop and mobile)
Samsung Internet browser for Gear VR!
Coming soon to Daydream VR!
WebVR 1.0 API - preliminary spec
http://mozvr.github.io/webvr-spec/
W3C Community Group
https://www.w3.org/community/webvr/
Slack Channel
https://webvr.slack.com/
Examples
https://webvr.info/samples/
A Quick Tour of the WebVR API
var self = this;
var vrDisplay;
navigator.getVRDisplays().then( gotVRDisplays );
function gotVRDisplays ( displays ) {
if (displays.length > 0) {
vrDisplay = displays[0];
self.left = vrDisplay.getEyeParameters( "left" );
self.right = vrDisplay.getEyeParameters( "right" );
self.vrDisplay = vrDisplay;
}
}
1. Query for VR Displays
Enumerate available
VR devices
Get left/right eye
(camera) information:
horizontal offset,
field of view,
viewport width;
we’’ use WebGL to
render the scene from
two cameras
someButton.addEventListener(’click', onStartPresent);
function onStartPresent () {
vrDisplay.requestPresent({ source : webGLCanvas });
}
2. Present to the VR Display
VR presentation must be initiated by
user action, e.g. mouse click
The WebGL canvas contains the rendered
content to be presented on the VR display
vrDisplay.requestAnimationFrame(runloop);
function runloop() {
// set up for the next frame
vrDisplay.requestAnimationFrame(runloop);
// render the content
var pose = vrDisplay.getPose();
if (vrDisplay.isPresenting) {
renderScene(pose, "left”);
renderScene(pose, ”right"));
}
vrDisplay.submitFrame(pose);
}
3. Render WebVR introduces a new version of
requestAnimationFrame() specifically for
VR devices, making >60FPS rendering possible!
Get HMD position/orientation
Render scene once for each eye
Submit rendered content to the HMD
var vrGamepads = [];
var gamepads = navigator.getGamepads();
for (var i = 0; i < gamepads.length; ++i) {
var gamepad = gamepads[i];
if (gamepad && gamepad.pose) {
vrGamepads.push(gamepad);
}
}
}
4. Input: 6DOF Controllers
Loop through Gamepads and see if any of them have
a ‘pose’ property; if so it’s a VR gamepad
NOTE: Gamepad 6DOF support is NOT part
of the WebVR spec. These are experimental
extensions to the Gamepad API…
The
WebVR Ecosystem
Frameworks
JavaScript libraries
Markup systems
Polyfills
Formats
The “JPEG of 3D”
Tools
Unity, Unreal export
Browser-based VR creation
<glam>
<scene>
<cube id="photocube”></cube>
</scene>
</glam>
#photocube {
image:url(../images/photo.png);
}
JavaScript Libraries
Three.js
Babylon.js
Scene.js
Three.js - de facto choice for WebGL
http://www.threejs.org
<a-scene>
<a-sphere position="0 1.25 -1" radius="1.25" c
<a-box position="-1 0.5 1" rotation="0 45 0" w
<a-cylinder position="1 0.75 1" radius="0.5" h
<a-plane rotation="-90 0 0" width="4" height="
<a-sky color="#ECECEC"></a-sky>
</a-scene>
Markup Languages
A-Frame
GLAM
SceneVR
Mozilla A-Frame
https://www.aframe.io
https://github.com/KhronosGroup/glTF
Runtime asset format for WebGL, OpenGL ES, and OpenGL applications
Compact representation for download efficiency
Loads quickly into memory
JSON for scene structure and other high-level constructs
GL native data types require no additional parsing
Full-featured
3D constructs (hierarchy, cameras, shaders, animation, lights and standard materials via
extensions)
Full support for shaders and arbitrary materials
Runtime-neutral
Can be created and used by any tool, app or runtime
File Formats
"nodes": {
"LOD3sp": {
"children": [],
"matrix": [
// matrix data here
],
"meshes": [
"LOD3spShape-lib"
],
"name": "LOD3sp"
},
…
"meshes": {
"LOD3spShape-lib": {
"name": "LOD3spShape",
"primitives": [
{
"attributes": {
"NORMAL": "accessor_25",
"POSITION": "accessor_23",
"TEXCOORD_0": "accessor_27"
},
"indices": "accessor_21",
"material": "blinn3-fx",
"primitive": 4
}
]
}
},
The Structure of a glTF File
Scene structure defined as a hierarchy
of nodes
"buffers": {
"duck": {
"byteLength": 102040,
"type": "arraybuffer",
"uri": "duck.bin"
}
},
Meshes and other visual types
access low-level data defined in
buffers Rich data e.g. vertices
and animations stored in
binary files
glTF Adoption
Three.js Loader
https://github.com/mrdoob/three.js/
Babylon.s Loader
http://www.babylonjs.com/
Cesium - native format is glTF
http://cesiumjs.org/
FBX Converter
https://github.com/cyrillef/FBX-glTF
Import/Export glTF to/from any
FBX application!
Authoring Tools
Unity, Unreal export via Emscripten/asm.js
PlayCanvas game engine
Vizor in-browser VR development tool
Vizor
Browser-based VR creation
One Platform.
Billions of Seats.
No Barriers.
An Introduction to
WebVR
Tony Parisi
June 15, 2016

More Related Content

What's hot

The next frontier: WebGL and WebVR
The next frontier: WebGL and WebVRThe next frontier: WebGL and WebVR
The next frontier: WebGL and WebVRCodemotion
 
WebVR - MobileTechCon Berlin 2016
WebVR - MobileTechCon Berlin 2016WebVR - MobileTechCon Berlin 2016
WebVR - MobileTechCon Berlin 2016Carsten Sandtner
 
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!FITC
 
Build the Virtual Reality Web with A-Frame
Build the Virtual Reality Web with A-FrameBuild the Virtual Reality Web with A-Frame
Build the Virtual Reality Web with A-FrameMozilla VR
 
Getting Started in VR with JS
Getting Started in VR with JSGetting Started in VR with JS
Getting Started in VR with JSRudy Jahchan
 
The Immersive Web
The Immersive WebThe Immersive Web
The Immersive WebTony Parisi
 
Introduction to WebGL and WebVR
Introduction to WebGL and WebVRIntroduction to WebGL and WebVR
Introduction to WebGL and WebVRDaosheng Mu
 
Introduction to The VR Web
Introduction to The VR WebIntroduction to The VR Web
Introduction to The VR WebLiv Erickson
 
Getting Started with Web VR
Getting Started with Web VR Getting Started with Web VR
Getting Started with Web VR Saurabh Badhwar
 
Goodbye, Flatland! An introduction to React VR and what it means for web dev...
Goodbye, Flatland! An introduction to React VR  and what it means for web dev...Goodbye, Flatland! An introduction to React VR  and what it means for web dev...
Goodbye, Flatland! An introduction to React VR and what it means for web dev...GeilDanke
 
WebGL Crash Course
WebGL Crash CourseWebGL Crash Course
WebGL Crash CourseTony Parisi
 
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the BrowserScotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the BrowserLiv Erickson
 
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018Codemotion
 
JavaScript for VR with notes
JavaScript for VR with notesJavaScript for VR with notes
JavaScript for VR with notesLiv Erickson
 
Inkscape: Mockup that site (BADcamp edition)
Inkscape: Mockup that site (BADcamp edition)Inkscape: Mockup that site (BADcamp edition)
Inkscape: Mockup that site (BADcamp edition)Donna Benjamin
 
Prototyping saves your bacon
Prototyping saves your baconPrototyping saves your bacon
Prototyping saves your baconPaul Ardeleanu
 
HTML5 for Web Designers
HTML5 for Web DesignersHTML5 for Web Designers
HTML5 for Web DesignersGoodbytes
 

What's hot (20)

WebVR
WebVRWebVR
WebVR
 
The next frontier: WebGL and WebVR
The next frontier: WebGL and WebVRThe next frontier: WebGL and WebVR
The next frontier: WebGL and WebVR
 
WebVR - MobileTechCon Berlin 2016
WebVR - MobileTechCon Berlin 2016WebVR - MobileTechCon Berlin 2016
WebVR - MobileTechCon Berlin 2016
 
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!
Bringing Virtual Reality to the Web: VR, WebGL and CSS – Together At Last!
 
Build the Virtual Reality Web with A-Frame
Build the Virtual Reality Web with A-FrameBuild the Virtual Reality Web with A-Frame
Build the Virtual Reality Web with A-Frame
 
Getting Started in VR with JS
Getting Started in VR with JSGetting Started in VR with JS
Getting Started in VR with JS
 
The Immersive Web
The Immersive WebThe Immersive Web
The Immersive Web
 
WebVR - JAX 2016
WebVR -  JAX 2016WebVR -  JAX 2016
WebVR - JAX 2016
 
Introduction to WebGL and WebVR
Introduction to WebGL and WebVRIntroduction to WebGL and WebVR
Introduction to WebGL and WebVR
 
Introduction to The VR Web
Introduction to The VR WebIntroduction to The VR Web
Introduction to The VR Web
 
Getting Started with Web VR
Getting Started with Web VR Getting Started with Web VR
Getting Started with Web VR
 
Goodbye, Flatland! An introduction to React VR and what it means for web dev...
Goodbye, Flatland! An introduction to React VR  and what it means for web dev...Goodbye, Flatland! An introduction to React VR  and what it means for web dev...
Goodbye, Flatland! An introduction to React VR and what it means for web dev...
 
Maze VR
Maze VRMaze VR
Maze VR
 
WebGL Crash Course
WebGL Crash CourseWebGL Crash Course
WebGL Crash Course
 
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the BrowserScotland JS 2016 Keynote: The VR Web and the Future of the Browser
Scotland JS 2016 Keynote: The VR Web and the Future of the Browser
 
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018
Mixed Realities for Web - Carsten Sandtner - Codemotion Amsterdam 2018
 
JavaScript for VR with notes
JavaScript for VR with notesJavaScript for VR with notes
JavaScript for VR with notes
 
Inkscape: Mockup that site (BADcamp edition)
Inkscape: Mockup that site (BADcamp edition)Inkscape: Mockup that site (BADcamp edition)
Inkscape: Mockup that site (BADcamp edition)
 
Prototyping saves your bacon
Prototyping saves your baconPrototyping saves your bacon
Prototyping saves your bacon
 
HTML5 for Web Designers
HTML5 for Web DesignersHTML5 for Web Designers
HTML5 for Web Designers
 

Viewers also liked

Powering the VR/AR Ecosystem 2017-01-17
Powering the VR/AR Ecosystem 2017-01-17Powering the VR/AR Ecosystem 2017-01-17
Powering the VR/AR Ecosystem 2017-01-17Tony Parisi
 
WebVR Ecosystem and API Update
WebVR Ecosystem and API UpdateWebVR Ecosystem and API Update
WebVR Ecosystem and API UpdateTony Parisi
 
The Coming Distribution War
The Coming Distribution WarThe Coming Distribution War
The Coming Distribution WarTony Parisi
 
Foundations of the Immersive Web
Foundations of the Immersive WebFoundations of the Immersive Web
Foundations of the Immersive WebTony Parisi
 
Vrml, or There and Back Again
Vrml, or There and Back AgainVrml, or There and Back Again
Vrml, or There and Back AgainTony Parisi
 
WebGL, WebVR and the Metaverse
WebGL, WebVR and the MetaverseWebGL, WebVR and the Metaverse
WebGL, WebVR and the MetaverseTony Parisi
 
And Who Shall Control the Metaverse?
And Who Shall Control the Metaverse?And Who Shall Control the Metaverse?
And Who Shall Control the Metaverse?Tony Parisi
 
VR Without Borders RIVER WebVR April 2015
VR Without Borders RIVER WebVR April 2015VR Without Borders RIVER WebVR April 2015
VR Without Borders RIVER WebVR April 2015Tony Parisi
 
FOSSGIS 2014 : Geospatial 3D Web (GER)
FOSSGIS 2014 : Geospatial 3D Web (GER)FOSSGIS 2014 : Geospatial 3D Web (GER)
FOSSGIS 2014 : Geospatial 3D Web (GER)Camptocamp
 
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)Camptocamp
 
Forge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Forge - DevCon 2016: Forecast for Design, Make, & Use is CloudyForge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Forge - DevCon 2016: Forecast for Design, Make, & Use is CloudyAutodesk
 
The Long Game: It’s Not Prime Time for VR… Yet | Clive Downie
The Long Game: It’s Not Prime Time for VR… Yet | Clive DownieThe Long Game: It’s Not Prime Time for VR… Yet | Clive Downie
The Long Game: It’s Not Prime Time for VR… Yet | Clive DownieJessica Tams
 
Forge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLensForge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLensAutodesk
 
Forge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeAutodesk
 
Forge - DevCon 2016: 10 Great Fusion 360 Sample Applications
Forge - DevCon 2016: 10 Great Fusion 360 Sample ApplicationsForge - DevCon 2016: 10 Great Fusion 360 Sample Applications
Forge - DevCon 2016: 10 Great Fusion 360 Sample ApplicationsAutodesk
 
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsForge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsAutodesk
 
AR Gamers – The Next Generation | Mark Shovman
AR Gamers – The Next Generation | Mark ShovmanAR Gamers – The Next Generation | Mark Shovman
AR Gamers – The Next Generation | Mark ShovmanJessica Tams
 

Viewers also liked (17)

Powering the VR/AR Ecosystem 2017-01-17
Powering the VR/AR Ecosystem 2017-01-17Powering the VR/AR Ecosystem 2017-01-17
Powering the VR/AR Ecosystem 2017-01-17
 
WebVR Ecosystem and API Update
WebVR Ecosystem and API UpdateWebVR Ecosystem and API Update
WebVR Ecosystem and API Update
 
The Coming Distribution War
The Coming Distribution WarThe Coming Distribution War
The Coming Distribution War
 
Foundations of the Immersive Web
Foundations of the Immersive WebFoundations of the Immersive Web
Foundations of the Immersive Web
 
Vrml, or There and Back Again
Vrml, or There and Back AgainVrml, or There and Back Again
Vrml, or There and Back Again
 
WebGL, WebVR and the Metaverse
WebGL, WebVR and the MetaverseWebGL, WebVR and the Metaverse
WebGL, WebVR and the Metaverse
 
And Who Shall Control the Metaverse?
And Who Shall Control the Metaverse?And Who Shall Control the Metaverse?
And Who Shall Control the Metaverse?
 
VR Without Borders RIVER WebVR April 2015
VR Without Borders RIVER WebVR April 2015VR Without Borders RIVER WebVR April 2015
VR Without Borders RIVER WebVR April 2015
 
FOSSGIS 2014 : Geospatial 3D Web (GER)
FOSSGIS 2014 : Geospatial 3D Web (GER)FOSSGIS 2014 : Geospatial 3D Web (GER)
FOSSGIS 2014 : Geospatial 3D Web (GER)
 
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
FOSS4G Europe 2015: OL3-Cesium (3D for OpenLayers)
 
Forge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Forge - DevCon 2016: Forecast for Design, Make, & Use is CloudyForge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
Forge - DevCon 2016: Forecast for Design, Make, & Use is Cloudy
 
The Long Game: It’s Not Prime Time for VR… Yet | Clive Downie
The Long Game: It’s Not Prime Time for VR… Yet | Clive DownieThe Long Game: It’s Not Prime Time for VR… Yet | Clive Downie
The Long Game: It’s Not Prime Time for VR… Yet | Clive Downie
 
Forge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLensForge - DevCon 2016: Introduction to building for HoloLens
Forge - DevCon 2016: Introduction to building for HoloLens
 
Forge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with ForgeForge - DevCon 2016: From Desktop to the Cloud with Forge
Forge - DevCon 2016: From Desktop to the Cloud with Forge
 
Forge - DevCon 2016: 10 Great Fusion 360 Sample Applications
Forge - DevCon 2016: 10 Great Fusion 360 Sample ApplicationsForge - DevCon 2016: 10 Great Fusion 360 Sample Applications
Forge - DevCon 2016: 10 Great Fusion 360 Sample Applications
 
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIsForge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
Forge - DevCon 2016: Building Value-Added Integrations with Autodesk’s IoT APIs
 
AR Gamers – The Next Generation | Mark Shovman
AR Gamers – The Next Generation | Mark ShovmanAR Gamers – The Next Generation | Mark Shovman
AR Gamers – The Next Generation | Mark Shovman
 

Similar to Introduction to WebVR Autodesk Forge 2016

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 JavaScriptFITC
 
Building Browser VR Experience in React VR
Building Browser VR Experience in React VRBuilding Browser VR Experience in React VR
Building Browser VR Experience in React VRMarcin Mincer
 
Tools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In FlexTools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In FlexPek Pongpaet
 
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)Robert 'Bob' Reyes
 
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEXBringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEXDimitri Gielis
 
Tony Parisi (VP Platform, Wevr) The Immersive Web
Tony Parisi (VP Platform, Wevr) The Immersive WebTony Parisi (VP Platform, Wevr) The Immersive Web
Tony Parisi (VP Platform, Wevr) The Immersive WebAugmentedWorldExpo
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
 
3D and VR on the web
3D and VR on the web3D and VR on the web
3D and VR on the webAdam Nagy
 
Up And Running With Web VR Fall 2014
Up And Running With Web VR Fall 2014Up And Running With Web VR Fall 2014
Up And Running With Web VR Fall 2014Tony Parisi
 
Quick dive into WebVR
Quick dive into WebVRQuick dive into WebVR
Quick dive into WebVRJanne Aukia
 
Migrating your Web app to Virtual Reality
Migrating your Web app to Virtual RealityMigrating your Web app to Virtual Reality
Migrating your Web app to Virtual RealityDenis Radin
 
Rich Media Advertising with SVG and JavaScript
Rich Media Advertising with SVG and JavaScriptRich Media Advertising with SVG and JavaScript
Rich Media Advertising with SVG and JavaScriptGjokica Zafirovski
 
Prototyping in aframe
Prototyping in aframePrototyping in aframe
Prototyping in aframeKumar Ahir
 

Similar to Introduction to WebVR Autodesk Forge 2016 (20)

Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017Ferguson VR Hackathon - May 6, 2017
Ferguson VR Hackathon - May 6, 2017
 
Keynote: The Immersive web
Keynote: The Immersive webKeynote: The Immersive web
Keynote: The Immersive web
 
The Powerful VR WEB Is Here
The Powerful VR WEB Is HereThe Powerful VR WEB Is Here
The Powerful VR WEB Is Here
 
WebVR, an offspring of two worlds
WebVR, an offspring of two worldsWebVR, an offspring of two worlds
WebVR, an offspring of two worlds
 
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
 
Building Browser VR Experience in React VR
Building Browser VR Experience in React VRBuilding Browser VR Experience in React VR
Building Browser VR Experience in React VR
 
3d web
3d web3d web
3d web
 
Tools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In FlexTools For Creating Wow Experiences In Flex
Tools For Creating Wow Experiences In Flex
 
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
Build (Web)VR with A-Frame (COSCUP 2019 Taipei)
 
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEXBringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
Bringing Virtual Reality (VR) and Augmented Reality (AR) to APEX
 
Tony Parisi (VP Platform, Wevr) The Immersive Web
Tony Parisi (VP Platform, Wevr) The Immersive WebTony Parisi (VP Platform, Wevr) The Immersive Web
Tony Parisi (VP Platform, Wevr) The Immersive Web
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
 
3D and VR on the web
3D and VR on the web3D and VR on the web
3D and VR on the web
 
Up And Running With Web VR Fall 2014
Up And Running With Web VR Fall 2014Up And Running With Web VR Fall 2014
Up And Running With Web VR Fall 2014
 
Quick dive into WebVR
Quick dive into WebVRQuick dive into WebVR
Quick dive into WebVR
 
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Migrating your Web app to Virtual Reality
Migrating your Web app to Virtual RealityMigrating your Web app to Virtual Reality
Migrating your Web app to Virtual Reality
 
Rich Media Advertising with SVG and JavaScript
Rich Media Advertising with SVG and JavaScriptRich Media Advertising with SVG and JavaScript
Rich Media Advertising with SVG and JavaScript
 
Prototyping in aframe
Prototyping in aframePrototyping in aframe
Prototyping in aframe
 

More from Tony Parisi

The New Fine Arts
The New Fine ArtsThe New Fine Arts
The New Fine ArtsTony Parisi
 
Face the Future: Computing in an Augmented World
Face the Future: Computing in an Augmented WorldFace the Future: Computing in an Augmented World
Face the Future: Computing in an Augmented WorldTony Parisi
 
Browser-Based Virtual Reality April 2015
Browser-Based Virtual Reality April 2015Browser-Based Virtual Reality April 2015
Browser-Based Virtual Reality April 2015Tony Parisi
 
glTF and the WebGL Art Pipeline March 2015
glTF and the WebGL Art Pipeline March 2015glTF and the WebGL Art Pipeline March 2015
glTF and the WebGL Art Pipeline March 2015Tony Parisi
 
The Web Eats Everything In Its Path Fall 2014
The Web Eats Everything In Its Path Fall 2014The Web Eats Everything In Its Path Fall 2014
The Web Eats Everything In Its Path Fall 2014Tony Parisi
 
WebGL Primetime!
WebGL Primetime!WebGL Primetime!
WebGL Primetime!Tony Parisi
 
Virtually Anywhere
Virtually AnywhereVirtually Anywhere
Virtually AnywhereTony Parisi
 
The Browser As Console - HTML5 and WebGL for Game Development
The Browser As Console - HTML5 and WebGL for Game DevelopmentThe Browser As Console - HTML5 and WebGL for Game Development
The Browser As Console - HTML5 and WebGL for Game DevelopmentTony Parisi
 
WebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonWebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonTony Parisi
 
Developing Web Graphics with WebGL
Developing Web Graphics with WebGLDeveloping Web Graphics with WebGL
Developing Web Graphics with WebGLTony Parisi
 
WebGL - It's GO Time
WebGL - It's GO TimeWebGL - It's GO Time
WebGL - It's GO TimeTony Parisi
 
glTF Update with Tony Parisi WebGL Meetup August 2013
glTF Update with Tony Parisi WebGL Meetup August 2013glTF Update with Tony Parisi WebGL Meetup August 2013
glTF Update with Tony Parisi WebGL Meetup August 2013Tony Parisi
 
Building Rich Internet Applications with HTML5 and WebGL
Building Rich Internet Applications with HTML5 and WebGLBuilding Rich Internet Applications with HTML5 and WebGL
Building Rich Internet Applications with HTML5 and WebGLTony Parisi
 

More from Tony Parisi (14)

The New Fine Arts
The New Fine ArtsThe New Fine Arts
The New Fine Arts
 
Face the Future: Computing in an Augmented World
Face the Future: Computing in an Augmented WorldFace the Future: Computing in an Augmented World
Face the Future: Computing in an Augmented World
 
Browser-Based Virtual Reality April 2015
Browser-Based Virtual Reality April 2015Browser-Based Virtual Reality April 2015
Browser-Based Virtual Reality April 2015
 
glTF and the WebGL Art Pipeline March 2015
glTF and the WebGL Art Pipeline March 2015glTF and the WebGL Art Pipeline March 2015
glTF and the WebGL Art Pipeline March 2015
 
The Web Eats Everything In Its Path Fall 2014
The Web Eats Everything In Its Path Fall 2014The Web Eats Everything In Its Path Fall 2014
The Web Eats Everything In Its Path Fall 2014
 
WebGL Primetime!
WebGL Primetime!WebGL Primetime!
WebGL Primetime!
 
Virtually Anywhere
Virtually AnywhereVirtually Anywhere
Virtually Anywhere
 
The Browser As Console - HTML5 and WebGL for Game Development
The Browser As Console - HTML5 and WebGL for Game DevelopmentThe Browser As Console - HTML5 and WebGL for Game Development
The Browser As Console - HTML5 and WebGL for Game Development
 
WebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonWebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was Won
 
Developing Web Graphics with WebGL
Developing Web Graphics with WebGLDeveloping Web Graphics with WebGL
Developing Web Graphics with WebGL
 
WebGL - It's GO Time
WebGL - It's GO TimeWebGL - It's GO Time
WebGL - It's GO Time
 
glTF Update with Tony Parisi WebGL Meetup August 2013
glTF Update with Tony Parisi WebGL Meetup August 2013glTF Update with Tony Parisi WebGL Meetup August 2013
glTF Update with Tony Parisi WebGL Meetup August 2013
 
Building Rich Internet Applications with HTML5 and WebGL
Building Rich Internet Applications with HTML5 and WebGLBuilding Rich Internet Applications with HTML5 and WebGL
Building Rich Internet Applications with HTML5 and WebGL
 
Artists Only
Artists OnlyArtists Only
Artists Only
 

Recently uploaded

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.pdfsudhanshuwaghmare1
 
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 RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 

Recently uploaded (20)

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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

Introduction to WebVR Autodesk Forge 2016

  • 1. An Introduction to WebVR Tony Parisi June 15, 2016
  • 2. About me get GLAM http://www.glamjs.org/ meetups http://www.meetup.com/WebGL-Developers-Meetup/ http://www.meetup.com/Web-VR/ creds Co-creator, VRML and X3D Designer and Spec Editor, glTF get the books! Learning Virtual Reality Programming 3D Applications with HTML and WebGL WebGL: Up and Running http://www.amazon.com/-/e/B008UZ888I Tony Parisi is VP of Web and Open Technologies at Wevr tony@wevr.com +1  (415) 902 8002 @auradeluxe http://www.tonyparisi.com/ advice http://www.rothenbergventures.com http://www.uploadvr.com http://www.highfidelity.io http://www.shiift.world/
  • 3. The Next Platform VR and AR will become the predominant way that we work, play, transact and communicate using digital technologies. Billions invested 2020 market projections range from $14B to $120B
  • 4. Q: How do VR and AR reach 5B users by 2020? A: Not one app at a time.
  • 5. Friction Downloads/installs Controlled distribution Limited business models Silo experiences Proprietary development Closed culture Experts only
  • 6. The Metaverse is too big of an idea… for an app store.
  • 7. http://commonspace.wordpress.com/2014/03/12/happybirthday/ The World Wide Web No downloads - no friction Instant sharing - post a link Freedom of choice - no gatekeepers Culture of collaboration Instant publishing Runs everywhere
  • 9. No Friction See link, clink link, go Shareable, searchable, discoverable
  • 11. Total Immersion Image: http://cordonmedia.com/ Browse and communicate in 3D Endless information within our grasp The ultimate dope for a dopamine culture
  • 12. Built on Standards Universal playback engine aka “VR browser” Standard formats and APIs for 3D graphics and 360 VR video Free, open source tools Collaborative effort
  • 13. The 3D Rendering Standard Runs on all desktop and mobile browsers 3B seats!
  • 14. Cardboard VR and Mobile Browsers Works today. Just render side-by-side using WebGL and pop it into a Carboard viewer.
  • 15. The WebVR API Quake 3 WebVR demo, developed by Brandon Jones of Google http://media.tojicode.com/q3bsp/ Multi-vendor effort to define new browser API and features Head tracking and fullscreen stereo VR mode Desktop and mobile
  • 16. WebVR Development Status Developer builds of Chrome, Firefox (desktop and mobile) Samsung Internet browser for Gear VR! Coming soon to Daydream VR! WebVR 1.0 API - preliminary spec http://mozvr.github.io/webvr-spec/ W3C Community Group https://www.w3.org/community/webvr/ Slack Channel https://webvr.slack.com/ Examples https://webvr.info/samples/
  • 17. A Quick Tour of the WebVR API
  • 18. var self = this; var vrDisplay; navigator.getVRDisplays().then( gotVRDisplays ); function gotVRDisplays ( displays ) { if (displays.length > 0) { vrDisplay = displays[0]; self.left = vrDisplay.getEyeParameters( "left" ); self.right = vrDisplay.getEyeParameters( "right" ); self.vrDisplay = vrDisplay; } } 1. Query for VR Displays Enumerate available VR devices Get left/right eye (camera) information: horizontal offset, field of view, viewport width; we’’ use WebGL to render the scene from two cameras
  • 19. someButton.addEventListener(’click', onStartPresent); function onStartPresent () { vrDisplay.requestPresent({ source : webGLCanvas }); } 2. Present to the VR Display VR presentation must be initiated by user action, e.g. mouse click The WebGL canvas contains the rendered content to be presented on the VR display
  • 20. vrDisplay.requestAnimationFrame(runloop); function runloop() { // set up for the next frame vrDisplay.requestAnimationFrame(runloop); // render the content var pose = vrDisplay.getPose(); if (vrDisplay.isPresenting) { renderScene(pose, "left”); renderScene(pose, ”right")); } vrDisplay.submitFrame(pose); } 3. Render WebVR introduces a new version of requestAnimationFrame() specifically for VR devices, making >60FPS rendering possible! Get HMD position/orientation Render scene once for each eye Submit rendered content to the HMD
  • 21. var vrGamepads = []; var gamepads = navigator.getGamepads(); for (var i = 0; i < gamepads.length; ++i) { var gamepad = gamepads[i]; if (gamepad && gamepad.pose) { vrGamepads.push(gamepad); } } } 4. Input: 6DOF Controllers Loop through Gamepads and see if any of them have a ‘pose’ property; if so it’s a VR gamepad NOTE: Gamepad 6DOF support is NOT part of the WebVR spec. These are experimental extensions to the Gamepad API…
  • 22. The WebVR Ecosystem Frameworks JavaScript libraries Markup systems Polyfills Formats The “JPEG of 3D” Tools Unity, Unreal export Browser-based VR creation <glam> <scene> <cube id="photocube”></cube> </scene> </glam> #photocube { image:url(../images/photo.png); }
  • 23. JavaScript Libraries Three.js Babylon.js Scene.js Three.js - de facto choice for WebGL http://www.threejs.org
  • 24. <a-scene> <a-sphere position="0 1.25 -1" radius="1.25" c <a-box position="-1 0.5 1" rotation="0 45 0" w <a-cylinder position="1 0.75 1" radius="0.5" h <a-plane rotation="-90 0 0" width="4" height=" <a-sky color="#ECECEC"></a-sky> </a-scene> Markup Languages A-Frame GLAM SceneVR Mozilla A-Frame https://www.aframe.io
  • 25. https://github.com/KhronosGroup/glTF Runtime asset format for WebGL, OpenGL ES, and OpenGL applications Compact representation for download efficiency Loads quickly into memory JSON for scene structure and other high-level constructs GL native data types require no additional parsing Full-featured 3D constructs (hierarchy, cameras, shaders, animation, lights and standard materials via extensions) Full support for shaders and arbitrary materials Runtime-neutral Can be created and used by any tool, app or runtime File Formats
  • 26. "nodes": { "LOD3sp": { "children": [], "matrix": [ // matrix data here ], "meshes": [ "LOD3spShape-lib" ], "name": "LOD3sp" }, … "meshes": { "LOD3spShape-lib": { "name": "LOD3spShape", "primitives": [ { "attributes": { "NORMAL": "accessor_25", "POSITION": "accessor_23", "TEXCOORD_0": "accessor_27" }, "indices": "accessor_21", "material": "blinn3-fx", "primitive": 4 } ] } }, The Structure of a glTF File Scene structure defined as a hierarchy of nodes "buffers": { "duck": { "byteLength": 102040, "type": "arraybuffer", "uri": "duck.bin" } }, Meshes and other visual types access low-level data defined in buffers Rich data e.g. vertices and animations stored in binary files
  • 27. glTF Adoption Three.js Loader https://github.com/mrdoob/three.js/ Babylon.s Loader http://www.babylonjs.com/ Cesium - native format is glTF http://cesiumjs.org/ FBX Converter https://github.com/cyrillef/FBX-glTF Import/Export glTF to/from any FBX application!
  • 28. Authoring Tools Unity, Unreal export via Emscripten/asm.js PlayCanvas game engine Vizor in-browser VR development tool Vizor Browser-based VR creation
  • 29. One Platform. Billions of Seats. No Barriers.
  • 30. An Introduction to WebVR Tony Parisi June 15, 2016