Browse Source

Examples: Removed webxr_vr_multiview.

Mr.doob 5 years ago
parent
commit
5961c0b0ba
1 changed files with 0 additions and 193 deletions
  1. 0 193
      examples/webxr_vr_multiview.html

+ 0 - 193
examples/webxr_vr_multiview.html

@@ -1,193 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<title>three.js vr - multiview</title>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
-		<style>
-			body {
-				font-family: Monospace;
-				background-color: #101010;
-				color: #fff;
-				margin: 0px;
-				overflow: hidden;
-			}
-			a {
-				color: #48f;
-			}
-		</style>
-	</head>
-	<body>
-		<script type="module">
-
-			import * as THREE from '../build/three.module.js';
-			import { BoxLineGeometry } from './jsm/geometries/BoxLineGeometry.js';
-			import { VRButton } from './jsm/webxr/VRButton.js';
-			import Stats from './jsm/libs/stats.module.js';
-
-			var container;
-			var camera, scene, renderer;
-
-			var room;
-			var stats;
-
-			var radius = 0.02;
-
-			var clock = new THREE.Clock();
-
-			init();
-			animate();
-
-			function init() {
-
-				container = document.createElement( 'div' );
-				document.body.appendChild( container );
-
-				//
-
-				var canvas = document.createElement( 'canvas' );
-
-
-				// Currently OVR_multiview2 is supported just on WebGL2 non-multisampled contexts
-				// so we must create the context manually ensuring `antialias` is set to false
-				//
-				// There is an ongoing discussion on how to add multisampled multiview support
-				// on the Khronos Group's WebGL repo: https://github.com/KhronosGroup/WebGL/issues/2912
-				// as soon as that will get solved we will update the code so it will be
-				// transparent for the user and you could use this extension with or without multisampled
-				// contexts
-				var context = canvas.getContext( 'webgl2', { antialias: false, xrCompatible: true } );
-
-				renderer = new THREE.WebGLRenderer( { canvas: canvas, context: context } );
-
-				renderer.setPixelRatio( window.devicePixelRatio );
-				renderer.setSize( window.innerWidth, window.innerHeight );
-				renderer.xr.enabled = true;
-				container.appendChild( renderer.domElement );
-
-				var info = document.createElement( 'div' );
-				info.style.position = 'absolute';
-				info.style.top = '10px';
-				info.style.width = '100%';
-				info.style.textAlign = 'center';
-				info.innerHTML = '<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> vr - multiview<br/>';
-				info.innerHTML += renderer.extensions.get( 'OVR_multiview2' ) ? `<span style="color: #33ff33"><b>OVR_multiview2</b> is supported in your browser</span>` :
-					`<span style="color: #ff3333"><b>OVR_multiview2</b> is not supported or enabled in your browser</span>`;
-
-				container.appendChild( info );
-
-				scene = new THREE.Scene();
-				scene.background = new THREE.Color( 0x505050 );
-
-				camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 0.1, 10 );
-				camera.position.set( 0, 1.6, 3 );
-
-				room = new THREE.LineSegments(
-					new BoxLineGeometry( 6, 6, 6, 10, 10, 10 ),
-					new THREE.LineBasicMaterial( { color: renderer.extensions.get( 'OVR_multiview2' ) ? 0x99ff99 : 0xff3333 } )
-				);
-				room.geometry.translate( 0, 3, 0 );
-				scene.add( room );
-
-				var light = new THREE.HemisphereLight( 0xffffff, 0x444444 );
-				light.position.set( 1, 1, 1 );
-				scene.add( light );
-
-				var geometry = new THREE.IcosahedronBufferGeometry( radius );
-
-				for ( var i = 0; i < 2000; i ++ ) {
-
-					var object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { color: Math.random() * 0xffffff } ) );
-
-					object.position.x = Math.random() * 4 - 2;
-					object.position.y = Math.random() * 4;
-					object.position.z = Math.random() * 4 - 2;
-
-					object.userData.velocity = new THREE.Vector3();
-					object.userData.velocity.x = 2 * Math.random() - 1;
-					object.userData.velocity.y = 2 * Math.random() - 1;
-					object.userData.velocity.z = 2 * Math.random() - 1;
-
-					room.add( object );
-
-				}
-
-				//
-
-				document.body.appendChild( VRButton.createButton( renderer ) );
-
-				//
-
-				stats = new Stats();
-				container.appendChild( stats.dom );
-
-				window.addEventListener( 'resize', onWindowResize, false );
-
-			}
-
-			function onWindowResize() {
-
-				camera.aspect = window.innerWidth / window.innerHeight;
-				camera.updateProjectionMatrix();
-
-				renderer.setSize( window.innerWidth, window.innerHeight );
-
-			}
-
-			//
-
-			function animate() {
-
-				renderer.setAnimationLoop( render );
-
-			}
-
-			function render() {
-
-				//
-				stats.update();
-
-				var delta = clock.getDelta();
-
-				var range = 3 - radius;
-
-				for ( var i = 0; i < room.children.length; i ++ ) {
-
-					var object = room.children[ i ];
-
-					object.position.x += object.userData.velocity.x * delta;
-					object.position.y += object.userData.velocity.y * delta;
-					object.position.z += object.userData.velocity.z * delta;
-
-					// keep objects inside room
-
-					if ( object.position.x < - range || object.position.x > range ) {
-
-						object.position.x = THREE.MathUtils.clamp( object.position.x, - range, range );
-						object.userData.velocity.x = - object.userData.velocity.x;
-
-					}
-
-					if ( object.position.y < radius || object.position.y > 6 ) {
-
-						object.position.y = Math.max( object.position.y, radius );
-						object.userData.velocity.y = - object.userData.velocity.y;
-
-					}
-
-					if ( object.position.z < - range || object.position.z > range ) {
-
-						object.position.z = THREE.MathUtils.clamp( object.position.z, - range, range );
-						object.userData.velocity.z = - object.userData.velocity.z;
-
-					}
-
-				}
-
-				renderer.render( scene, camera );
-
-			}
-
-		</script>
-	</body>
-</html>