JamesHagerman / JustCubesVR

WebVR boiler plate + HTML5 Boiler Plate = Art? From Three.js cubes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WebVR Boilerplate

A starting point for web-based VR experiences that work well in both Google Cardboard and Oculus Rift. Also provides a good fallback for experiencing the same content without requiring a VR device.

Uses the webvr-polyfill project to provide VR support even if no VR device is available. This gives good fallbacks for Cardboard, mobile devices and desktop devices.

What's inside...

THREE.js three.min.js

  • WebGL helper library that greatly simplifies 3D graphics.

VRControls VRControls.js

  • THREE.js controls which take advantage of the WebVR API.
  • Usually attached to the THREE.Camera to look around the scene.

VREffect VREffect.js

  • THREE.js effect which renders a scene with two cameras in it.
  • Puts the two images side-by-side.

WebVR polyfill webvr-polyfill.js

  • For Cardboard rendering.
  • On mobile, supports rotation via DeviceOrientation.
  • On desktop, supports looking with the mouse or with arrow keys.

WebVR manager webvr-manager.js (lives in this repository)

  • Feature detects for WebVR (or the polyfill).
  • If WebVR is available, places an active WebVR button on the bottom.
  • Other means of getting into VR mode: double click anywhere, double tap anywhere.
  • For desktop, if an HMD is connected, goes into split-screen rendering mode. Otherwise, goes into immersive fullscreen mode (with pointer lock).
  • For mobile, goes into Cardboard side-by-side rendering mode.

TODO: Provide a configuration UI for switching modes if we guessed wrong.

Instructions

  1. Include webvr-polyfill.js in your project.
  2. Include webvr-manager.js and instantiate a WebVRManager object, passing in your VREffect instance (from the THREE.js effect library) as first argument.

For example,

var effect = new THREE.VREffect(renderer);
var mgr = new WebVRManager(effect);

For more information, see index.html, which should be well commented and self-explanatory.

Related projects

Useful resources

Build Status devDependency Status

HTML5 Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites.

This project is the product of many years of iterative development and combined community knowledge. It does not impose a specific development philosophy or framework, so you're free to architect your code in the way that you want.

Quick start

Choose one of the following options:

  1. Download the latest stable release from html5boilerplate.com or create a custom build using Initializr.
  2. Clone the git repo — git clone https://github.com/h5bp/html5-boilerplate.git - and checkout the tagged release you'd like to use.

Features

  • HTML5 ready. Use the new elements with confidence.
  • Designed with progressive enhancement in mind.
  • Includes:
  • Placeholder CSS Media Queries.
  • Useful CSS helper classes.
  • Default print styles, performance optimized.
  • An optimized version of the Google Universal Analytics snippet.
  • Protection against any stray console statements causing JavaScript errors in older browsers.
  • "Delete-key friendly." Easy to strip out parts you don't need.
  • Extensive inline and accompanying documentation.

Browser support

  • Chrome (latest 2)
  • Firefox (latest 2)
  • Internet Explorer 8+
  • Opera (latest 2)
  • Safari (latest 2)

This doesn't mean that HTML5 Boilerplate cannot be used in older browsers, just that we'll ensure compatibility with the ones mentioned above.

If you need legacy browser support (IE 6+, Firefox 3.6+, Safari 4+) you can use HTML5 Boilerplate v4, but is no longer actively developed.

Documentation

Take a look at the documentation table of contents. This documentation is bundled with the project, which makes it readily available for offline reading and provides a useful starting point for any documentation you want to write about your project.

Contributing

Hundreds of developers have helped make the HTML5 Boilerplate what it is today. Anyone and everyone is welcome to contribute, however, if you decide to get involved, please take a moment to review the guidelines:

License

The code is available under the MIT license.

About

WebVR boiler plate + HTML5 Boiler Plate = Art? From Three.js cubes.

License:MIT License


Languages

Language:JavaScript 98.1%Language:HTML 1.2%Language:CSS 0.6%Language:Shell 0.1%Language:Makefile 0.0%