12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <title></title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
- <link type="text/css" rel="stylesheet" href="main.css">
- </head>
- <body>
- <script src="https://polyfill.io/v3/polyfill.min.js?features=Object.values%2CPromise"></script>
- <script src="../build/three.js"></script>
- <script src="./js/controls/OrbitControls.js"></script>
- <script src="./js/loaders/GLTFLoader.js"></script>
- <script src="./js/loaders/RGBELoader.js"></script>
- <script>
- var camera, scene, renderer;
- var controls;
- init();
- animate();
- function init() {
- renderer = new THREE.WebGLRenderer( { antialias: true } );
- renderer.setPixelRatio( window.devicePixelRatio );
- renderer.setSize( window.innerWidth, window.innerHeight );
- renderer.outputEncoding = THREE.sRGBEncoding;
- renderer.toneMapping = THREE.ACESFilmicToneMapping;
- document.body.appendChild( renderer.domElement );
- scene = new THREE.Scene();
- camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 0.1, 20 );
- camera.position.set( 1.5, 0.2, 1.5 );
- controls = new THREE.OrbitControls( camera, document.body );
- controls.autoRotate = true;
- controls.autoRotateSpeed = - 1.0;
- var pmremGenerator = new THREE.PMREMGenerator( renderer );
- pmremGenerator.compileEquirectangularShader();
- new THREE.RGBELoader()
- .setDataType( THREE.UnsignedByteType )
- .load( './textures/equirectangular/venice_sunset_1k.hdr', function ( texture ) {
- var envMap = pmremGenerator.fromEquirectangular( texture ).texture;
- scene.background = envMap;
- scene.environment = envMap;
- } );
- var url = './models/gltf/BoomBox/glTF-Binary/BoomBox.glb';
- var loader = new THREE.GLTFLoader();
- loader.load( url, function ( gltf ) {
- var model = gltf.scene;
- model.rotation.y = Math.PI;
- model.scale.setScalar( 50 );
- scene.add( model );
- } );
- 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( animate );
- controls.update();
- renderer.render( scene, camera );
- }
- </script>
- </body>
- </html>
|