10. „The ultimate display would, of course, be a room
within which the computer can control the existence
of matter. A chair displayed in such a room would be
good enough to sit in. Handcuffs displayed in such a
room would be confining, and a bullet displayed in
such a room would be fatal. With appropriate
programming such a display could literally be the
Wonderland into which Alice walked.“
—Ivan Sutherland
34. (HMD) VR Device
for (var i = 0; i < devices.length; ++i) {
if (devices[i] instanceof HMDVRDevice) {
gHMD = devices[i];
break;
}
}
35. Position Sensor
// If device found, get Position Sensor.
if (gHMD) {
for (var i = 0; i < devices.length; ++i) {
if (devices[i] instanceof PositionSensorVRDevice
&& devices[i].hardwareUnitId === gHMD.hardwareUnitId)
{
gPositionSensor = devices[i];
break;
}
}
}
36. Position State
var posState = gPositionSensor.getState();
if (posState.hasPosition) {
posPara.textContent = 'Position: x' + (posState.position.x) +
' y' + (posState.position.y) +
' z' + (posState.position.z);
}
if (posState.hasOrientation) {
orientPara.textContent = 'Orientation: x' + (posState.orientation.x) +
' y' + (posState.orientation.y) +
' z' + (posState.orientation.z);
}
38. Field Of View
function setCustomFOV(up, right, down, left) {
var testFOV = new VRFieldOfView(up, right, down, left);
gHMD.setFieldOfView(testFOV, testFOV, 0.01, 10000.0);
var lEye = gHMD.getEyeParameters('left');
var rEye = gHMD.getEyeParameters('right');
console.log(lEye.currentFieldOfView);
console.log(rEye.currentFieldOfView);
}
67. Some use cases
• Immersive reportages
• 3D Handbooks/Instructions
• Panorama view without stupid plugins
• Marketing instrument. (Supplements in magazines)
77. WebVR is amazing…
… but it’s not ready
(Editors Draft, Browser support)
… and has high Hardware Requirements!
… HMD Devices are not cheap.
(Except: Google Cardboard)
… and it’s a pleasure to create content!