Prechádzať zdrojové kódy

Simplified VREffect a bit more.

Mr.doob 10 rokov pred
rodič
commit
bb3a31974f
2 zmenil súbory, kde vykonal 17 pridanie a 20 odobranie
  1. 2 10
      examples/js/effects/VREffect.js
  2. 15 10
      examples/vr_cubes.html

+ 2 - 10
examples/js/effects/VREffect.js

@@ -21,15 +21,7 @@
  * https://drive.google.com/a/google.com/folderview?id=0BzudLt22BqGRbW9WTHMtOWMzNjQ&usp=sharing#list
  *
  */
-THREE.VREffect = function ( renderer, callback ) {
-
-	if ( !navigator.mozGetVRDevices && !navigator.getVRDevices ) {
-
-		if ( callback ) callback( 'Your browser is not VR Ready' );
-
-	}
-
-	// init
+THREE.VREffect = function ( renderer, onError ) {
 
 	var vrHMD;
 	var leftEyeTranslation, leftEyeFOV;
@@ -72,7 +64,7 @@ THREE.VREffect = function ( renderer, callback ) {
 
 		if ( vrHMD === undefined ) {
 
-			if ( callback ) callback( 'HMD not available' );
+			if ( onError ) onError( 'HMD not available' );
 
 		}
 

+ 15 - 10
examples/vr_cubes.html

@@ -114,20 +114,25 @@
 
 				var fullScreenButton = document.querySelector( '.full-screen' );
 
-				fullScreenButton.onclick = function() {
-					vrEffect.setFullScreen( true );
-				};
+				if ( navigator.getVRDevices === undefined ) {
 
-				vrControls = new THREE.VRControls(camera);
-				vrEffect = new THREE.VREffect(renderer, VREffectLoaded);
+					fullScreenButton.innerHTML = 'Your browser doesn\'t support WebVR';
+					fullScreenButton.classList.add('error');
 
-				function VREffectLoaded(error) {
-					if (error) {
-						fullScreenButton.innerHTML = error;
-						fullScreenButton.classList.add('error');
-					}
 				}
 
+				vrControls = new THREE.VRControls( camera );
+				vrEffect = new THREE.VREffect( renderer, function ( error ) {
+
+					fullScreenButton.innerHTML = error;
+					fullScreenButton.classList.add('error');
+
+				} );
+
+				fullScreenButton.onclick = function() {
+					vrEffect.setFullScreen( true );
+				};
+
 				renderer.setClearColor( 0xf0f0f0 );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.sortObjects = false;