feat: launch in webxr
This commit is contained in:
		
							parent
							
								
									61a461bff8
								
							
						
					
					
						commit
						e1481ce730
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					cert.pem
 | 
				
			||||||
 | 
					key.pem
 | 
				
			||||||
							
								
								
									
										1
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
 | 
				
			||||||
							
								
								
									
										13
									
								
								main.js
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								main.js
									
									
									
									
									
								
							@ -7,13 +7,17 @@
 | 
				
			|||||||
import * as THREE from 'three';
 | 
					import * as THREE from 'three';
 | 
				
			||||||
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
 | 
					import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
 | 
				
			||||||
import * as BufferGeometryUtils from 'three/addons/utils/BufferGeometryUtils.js';
 | 
					import * as BufferGeometryUtils from 'three/addons/utils/BufferGeometryUtils.js';
 | 
				
			||||||
 | 
					import { VRButton } from 'three/addons/webxr/VRButton.js';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Initialise scene
 | 
					// Initialise scene
 | 
				
			||||||
const scene = new THREE.Scene();
 | 
					const scene = new THREE.Scene();
 | 
				
			||||||
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
 | 
					const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const renderer = new THREE.WebGLRenderer();
 | 
					const renderer = new THREE.WebGLRenderer();
 | 
				
			||||||
renderer.setSize(window.innerWidth, window.innerHeight);
 | 
					renderer.setSize(window.innerWidth, window.innerHeight);
 | 
				
			||||||
 | 
					renderer.xr.enabled = true;
 | 
				
			||||||
document.body.appendChild(renderer.domElement);
 | 
					document.body.appendChild(renderer.domElement);
 | 
				
			||||||
 | 
					document.body.appendChild(VRButton.createButton(renderer));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Set up lights
 | 
					// Set up lights
 | 
				
			||||||
const ambientLight = new THREE.AmbientLight(0x404040);
 | 
					const ambientLight = new THREE.AmbientLight(0x404040);
 | 
				
			||||||
@ -245,12 +249,7 @@ window.addEventListener('resize', () => {
 | 
				
			|||||||
    renderer.setSize(window.innerWidth, window.innerHeight);
 | 
					    renderer.setSize(window.innerWidth, window.innerHeight);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Animation loop
 | 
					renderer.setAnimationLoop(() => {
 | 
				
			||||||
function animate() {
 | 
					 | 
				
			||||||
    requestAnimationFrame(animate);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    controls.update();
 | 
					    controls.update();
 | 
				
			||||||
    renderer.render(scene, camera);
 | 
					    renderer.render(scene, camera);
 | 
				
			||||||
}
 | 
					});
 | 
				
			||||||
animate();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										14
									
								
								server.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								server.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					from http.server import HTTPServer, SimpleHTTPRequestHandler
 | 
				
			||||||
 | 
					import ssl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					server_address = ('0.0.0.0', 4443)
 | 
				
			||||||
 | 
					httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
 | 
				
			||||||
 | 
					context.load_cert_chain(certfile='cert.pem', keyfile='key.pem')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print('Serving HTTPS on 0.0.0.0 port 4443...')
 | 
				
			||||||
 | 
					httpd.serve_forever()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user