Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Audience
How This Book Is Organized
Conventions Used in This Book
Using Code Examples
SafariĀ® Books Online
How to Contact Us
Acknowledgments
1. Introduction
What Is Virtual Reality?
Stereoscopic Displays
Motion Tracking Hardware
Input Devices
Computing Platforms
Native software development kits (SDKs)
Game engines and frameworks
Web browsers
Video players
Virtual Reality Applications
Chapter Summary
2. Virtual Reality Hardware
Oculus Rift
The DK1
The DK2
Crescent Bay
Setting Up Your Oculus Rift
Downloading the Oculus runtime, examples, and SDK
Other High-End Head-Mounted Displays
Samsung Gear VR: Deluxe, Portable Virtual Reality
The Oculus Mobile SDK
Google Cardboard: Low-Cost VR for Smartphones
Stereo Rendering and Head Tracking with Cardboard VR
Cardboard VR Input
Developing for Google Cardboard
VR Input Devices
Chapter Summary
3. Going Native: Developing for Oculus Rift on the Desktop
3D Graphics Basics
3D Coordinate Systems
Meshes, Polygons, and Vertices
Materials, Textures, and Lights
Transforms and Matrices
Cameras, Perspective, Viewports, and Projections
Stereoscopic Rendering
Unity3D: The Game Engine for the Common Man
Setting Up the Oculus SDK
Setting Up Your Unity Environment for Oculus Development
Building Your First VR Example
Building and Running the Application
Walking Through the Code
Chapter Summary
4. Going Mobile: Developing for Gear VR
The Gear VR User Interface and Oculus Home
Using the Oculus Mobile SDK
Setting Up the Android SDK
Generating an Oculus Signature File
Setting Up Your Device for USB Debugging
Developing for Gear VR Using Unity3D
Setting Up Your Unity3D Environment
A Simple Unity3D Sample
Handling Touchpad Events
Deploying Applications for Gear VR
Chapter Summary
5. WebVR: Browser-Based Virtual Reality in HTML5
The Story of WebVR
The WebVR API
Supported Browsers and Devices
Querying for VR Devices
Setting Up VR Fullscreen Mode
Head Tracking
Creating a WebVR Application
Three.js: A JavaScript 3D Engine
A Full Example
Setting up the project
The web page
The JavaScript code
Tools and Techniques for Creating Web VR
WebVR Engines and Development Tools
Using Unity3D and Unreal for WebVR Development
Open Source Libraries and Frameworks
WebVR and the Future of Web Browsing
Chapter Summary
6. VR Everywhere: Google Cardboard for Low-Cost Mobile Virtual Reality
Cardboard Basics
Supported Devices and Operating Systems
Headset Manufacturers
Other drop-in virtual reality headsets
Cardboard Applications
Input Devices for Cardboard
Cardboard Stereo Rendering and Head Tracking
Developing with the Cardboard SDK for Android
Setting Up the Environment
Walking Through the Code
Creating and rendering a stereo view
Selecting objects using gaze tracking
Detecting input from the magnet switch
Developing with the Cardboard SDK for Unity
Setting Up the SDK
Building Treasure Hunt for Unity
A Walkthrough of the Unity Code
Developing Cardboard Applications Using HTML5 and a Mobile Browser
Setting Up the WebVR Project
The JavaScript Cardboard Code
Chapter Summary
7. Your First VR Application
About 360-Degree Panoramas
Setting Up the Project
Getting the Software, Hardware, and Sample Code
Creating the Unity Scene and Project
Creating a panoramic background
Rendering back faces
Adding Cardboard VR Support
Creating a Gaze-and-Tap User Interface
Creating a 2D Plane
Adding Input Support to the Project
Creating an Event Handler Script
Handling Magnet Switch Events
Creating the Functioning User Interface
Where to Take the Project from Here
Chapter Summary
A. Resources
Headsets, Input Devices, and Video Capture Systems
Headsets
High-end head-mounted displays for desktops and consoles
Mobile HMDs
Input Devices
360 Video
Applications and Content
Flagship Experiences
Noteworthy Companies
Download Sites
WebVR Showcases and Applications
SDKs, Development Tools, and Programming Languages
Device SDKs
Game Engine Middleware
Programming Languages
Software Frameworks
Websites
Meetup Groups
Index
← Prev
Back
Next →
← Prev
Back
Next →