© 2016, Daly Realism
Creative Commons Sharealike (CC BY SA)
Web3D2016, SIGGRAPH 2016
23-28 July 2016
Brower-Based Mobile 3D VR
Leonard Daly
President, Daly Realism
Licensing Notice
This presentation is licensed as Creative Commons Attribution, Share-Alike [CC BY-SA 4.0]
Some of the material comes from other sources. Licensing for that other material may be different than that associated with the entire document. Credit for the individual pieces of content (text, graphics, images, etc.) are identified on the page where that content appears. The full credit reference is given on the Credit pages.
About Me
- Owner of Daly Realism
- Independent Consulant
- Working with 3D since 1981, VRML since 1997, X3D since 2001
- Co-Author with Don Brutzman X3D: Extensible 3D Graphics for Web Authors
- Former Co-Chair X3D Working Group
- Resigned to spend time working on X3D V4 Definition for HTML5
- First Concept Draft Delivered October 2015
Overview
- Part 1
- X3DOM Overview
- Device Orientation
- Part 2
- Walkabout
- LookSensor
- SphericalVideo
- StereoView
- Adding Nodes to X3DOM
- Discussion
“Any sufficiently advanced technology is indistinguishable from magic”
Arthur C. Clarke, 1975
“The future is already here - it’s just not very evenly distributed”
William GIbson, 2003
Usage- X3D Developers: 500-1000
- VR/Web3D Developers: 15,000-25,000
Usage- X3D Developers: 500-1000
- VR/Web3D Developers: 15,000-25,000
- JavaScript: 100,000-1,000,000
- 67,000 developers on StackOverflow
Usage
- X3D Developers: 500-1000
- VR/Web3D Developers: 15,000-25,000
- JavaScript: 100,000-1,000,000
- Software Developers: 11,000,000 - 18,500,000
Usage
- X3D Developers: 500-1000
- VR/Web3D Developers: 15,000-25,000
- JavaScript: 100,000-1,000,000
- Software Developers: 11,000,000 - 18,500,000
- Web Developers: 380,000,000
Usage
- X3D Developers: 500-1000
- VR/Web3D Developers: 15,000-25,000
- JavaScript: 100,000-1,000,000
- Software Developers: 11,000,000 - 18,500,000
- Web Developers: 380,000,000
- Mobile Users: 1,900,000,000 - 4,770,000,000
Usage
- X3D Developers: 500-1000
- VR/Web3D Developers: 15,000-25,000
- JavaScript: 100,000-1,000,000
- Software Developers: 11,000,000 - 18,500,000
- Web Developers: 380,000,000
- Mobile Users: 1,900,000,000 - 4,770,000,000
- Web Users: 1,650,000,000 - 3,500,000,000
X3DOM Overview
- http://x3dom.org/
- JavaScript Library that implements the X3D Standard
- Relatively minor changes to work in HTML5
- Not all nodes implemented
- Additional nodes added
- Compatible with jQuery and other frameworks
- Requires one JavaScipt and one CSS external files
- Supports streaming progressive geometry with textures
- DOM & HTML Integration
- Supports animation, interaction
Using X3DOM
<!DOCTYPE>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>X3DOM Simple Example</title>
<script type='text/javascript' src='http://www.x3dom.org/download/x3dom.js'> </script>
<link rel='stylesheet' type='text/css' href='http://www.x3dom.org/download/x3dom.css'/>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js" ></script>
</head>
<body>
<h1>X3DOM Simple Example</h1>
<X3D id="x3dom_simple" showStat="false" showLog="false" x="0px" y="0px" width="500px" height="500px">
<Scene>
<Inline url='http://tools.realism.com/Projects/Museum/model/Test-Static/basic-shapes.x3d'></Inline>
</Scene>
</X3D>
</body>
</html>
X3DOM Examples
Streaming Progressive Geometry
- "Happy Buddha"
- Stanford Buddha
- Compression and streaming by Fraunhofer
- Almost 1,000,000 triangles at 50+ fps
X3DOM Examples
Animation & Interaction
- Ocean Drilling Rig
- 3D rendering by Fraunhofer
- Interactive Sun position and sky coloring
- Shadows
- HIgh detail
X3DOM Examples
Audio with animationed camera in a texture-rich environment
WebVR and A-Frame
- WebVR is a W3C standard in development (latest draft 1 June 2016)
- Addresses Web-based VR devices, including sensors and displays
- Provide high-precision, low-latency interfaces in JavaScript
- Integrated with DOM
- Rendering from device-independent canvas
- A-Frame is a Mozilla effort for declarative 3D
- Built in tree structure
- Simplified nodes
- CSS-style attribute delarations
Device Movement
- Most all devices detect and capture some motion events
- Position
- Orientation
- Velocity
- Accelleration
- Resolution and accuracy for changes are not uniform across all motion categories
- Most accurate is Orientation
- All rotation angles are in degrees
/