Peter O'Shaughnessy | @poshaughnessy
- Palmer Luckey
- Mark Zuckerberg
- Josh Carpenter
- Josh Carpenter
if( navigator.getVRDevices ) {
navigator.getVRDevices().then( onVRDevices );
}
function onVRDevices( vrDevices ) {
for( var i=0; i < vrDevices.length; i++ ) {
if( instance of HMDVRDevice ) {
vrHMD = vrDevices[i];
// These will be applied to 'camera' in scene
leftTrans = vrHMD.getEyeTranslation('left');
leftFOV = vrHMD.getRecommendedEyeFieldOfView(
'left');
...
}
}
}
if( canvas.webkitRequestFullscreen ) {
canvas.webkitRequestFullscreen({vrDisplay: vrHMD});
} else if( container.mozRequestFullScreen ) {
container.mozRequestFullScreen({vrDisplay: vrHMD});
}
var vrEffect = new THREE.VREffect(renderer);
vrEffect.render(scene, camera);
...
vrEffect.setFullScreen(true);
function onVRDevices( vrDevices ) {
for( var i=0; i < vrDevices.length; i++ ) {
if( instance of PositionSensorVRDevice ) {
vrInput = device;
return;
}
}
}
function update() {
var state = vrInput.getState();
if ( state.orientation !== null ) {
// Apply orientation to 'cameras'
}
if ( state.position !== null ) {
// Apply position to 'cameras'
}
}
var vrControls = new THREE.VRControls(camera);
...
vrControls.update();
Being worked on - not in latest browser build!
var effect = new THREE.StereoEffect( renderer );
...
effect.render( scene, camera );
var controls = new THREE.DeviceOrientationControls(
camera, true);
controls.connect();
...
controls.update();
Leap.loop(function(frame){
console.log( frame.hands );
});
Leap.loopController.use('boneHand', {
scene: scene,
arm: true // Display the arm
});
I'll share the slides with the links afterwards!